如何在 Metro 风格应用中的帧导航中传递多个参数
本文关键字:导航 参数 Metro 风格 应用 | 更新日期: 2023-09-27 18:33:13
我正在为 Win8 构建一个 Metro 风格应用程序,它需要在帧导航上传递两个文本块值。对于一个参数,它有效,但对于两个参数它不起作用。请帮忙!我已经尝试过如下: 这。Frame.Navigate(typeof(secondPage),textblock1.文本 + 文本块 2.文本);
我没有显示任何错误,但它不起作用。
创建一个具有 2 个属性的新类,并将属性设置为文本块值。然后在导航时传递此对象。
创建有效负载类:
public class Payload
{
public string text1 { get;set;}
public string text2 { get;set;}
}
然后填充有效负载类:
Payload payload = new Payload();
payload.text1 = textblock1.Text;
payload.text2 = textblock2.Text;
然后,当您调用 Navigate 时,请像这样传递您的有效负载实例:
this.Frame.Navigate(typeof(SecondPage),payload);
我采用了这样的字典对象。
Dictionary<string, string> newDictionary = new Dictionary<string, string>();
newDictionary.Add("time", itemObj.repTime);
newDictionary.Add("message", itemObj.repMessage);
Frame.Navigate(typeof(ViewDetails),newDictionary);
在ViewDetails.xaml.cs页面上,我检索了这样的数据,
protected override void OnNavigatedTo(NavigationEventArgs e)
{
Dictionary<string, string> myDictionary = new Dictionary<string, string>();
myDictionary = e.Parameter as Dictionary<string, string>;
timeTB.Text = myDictionary["time"].ToString();
messageTB.Text = myDictionary["message"].ToString();
}
http://social.msdn.microsoft.com/Forums/windowsapps/en-US/8cb42356-82bc-4d77-9bbc-ae186990cfd5/passing-parameters-during-navigation-in-windows-8?forum=winappswithcsharp这里也一样;)我认为这就是你想要的