0

我从 c# 和 windows 8 应用程序开始。答案一定很简单,但我做不到。

我在 MVVM 灯光模型中工作。

page1.xaml.cs 中有我的代码:

        private void ResultsGridView_OnItemClick(object sender, ItemClickEventArgs e)
    {
        this.Frame.Navigate(typeof(MainPage), "test");
    }

但我不能像示例中那样覆盖我的函数:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    string name = e.Parameter as string;

if (!string.IsNullOrWhiteSpace(name))
{
    tb1.Text = "Hello, " + name;
}
}

因为它在我的 MainViewModel.cs 中,而不是在我的 MainPage.xaml.cs 中。

那么,您知道在这 2 帧之间传输参数的方法吗?

感谢您的帮助(请原谅我的英语)。

4

1 回答 1

0

我找到了解决方案。

我使用 Messenger,这是我的 page1.xaml.cs :

        private void ResultsGridView_OnItemClick(object sender, ItemClickEventArgs e)
    {
        selectAgence = selectAgences.Last();
        Messenger.Default.Send<Agence>(selectAgence, "1");

        this.Frame.Navigate(typeof(MainPage));
    }

这是我的 MainViewModel :

            Messenger.Default.Register<Agence>(this, "1", agence => { SelectAgence = agence; });

我希望这会帮助一些人。

于 2013-05-14T07:55:19.790 回答