7

我正在为 Win8 构建一个 Metro Style 应用程序,它需要在框架导航上传递两个文本块值。对于一个参数,它可以工作,但对于两个参数,它不起作用。请帮忙!我试过如下: this.Frame.Navigate(typeof(SecondPage),textblock1.Text + textblock2.Text);

我没有显示任何错误,但它不起作用。

4

3 回答 3

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);
于 2012-05-03T13:17:45.880 回答
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();
    }
于 2015-04-15T14:59:04.857 回答
0

http://social.msdn.microsoft.com/Forums/windowsapps/en-US/8cb42356-82bc-4d77-9bbc-ae186990cfd5/passing-parameters-during-navigation-in-windows-8?forum=winappswithcsharp 在这里相同; )我认为这就是你想要的

于 2014-09-03T13:54:44.553 回答