我从c#和windows 8应用程序开始。答案必须非常简单,但我不能这样做。
我在MVVM Light Model工作。
我的代码在page1.xaml.cs中:
private void ResultsGridView_OnItemClick(object sender, ItemClickEventArgs e)
{
this.Frame.Navigate(typeof(MainPage), "test");
}
但我不能像example中那样覆盖我的功能:
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帧之间传递参数的方法吗?
感谢您的帮助(并原谅我的英语)。
答案 0 :(得分: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; });
我希望这能帮助一些人。