我正在为Win8构建Metro Style App,它需要在帧导航上传递两个文本块值。对于一个参数,它可以工作但是对于两个参数它不起作用。请帮忙! 我尝试过如下: this.Frame.Navigate(typeof(SecondPage),textblock1.Text + textblock2.Text);
我没有显示任何错误,但它无效。
答案 0 :(得分:8)
创建一个包含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);
答案 1 :(得分:1)
我已经拿了这样的字典对象。
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();
}
答案 2 :(得分:0)