繁体   English   中英

页面导航Windows Phone 8.1

[英]Page Navigation Windows Phone 8.1

Windows Phone 8.1中的页面导航是:

Frame.Navigate(typeof(SecondPage));

或带有参数:

Frame.Navigate(typeof(SecondPage), param);

并在目标页面上:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
  myTextBox.Text = e.Parameter.ToString();
}

要么

protected override void OnNavigatedTo(NavigationEventArgs e)
{
  var val = (myClass)e.Parameter;
  myTextBox.Text = val.Text;
}

但就我而言,我想对目标页面上收到的数据进行处理。 例如,我想让用户编辑这些数据并将其另存为新数据。 我已经搜索了几个小时,而我所能找到的只是带有或不带有参数的页面导航,而不是上面描述的页面导航。 有什么办法可以解决这个问题? 任何建议,解决方案表示赞赏!

要将文本和设置名称传递到编辑表单,请使用KeyValuePair:

//figure out how to get the text out of the list
var myItem = new KeyValuePair<string, string>("mytextsetting", "listbox.selecteditem.text");
Frame.Navigate(typeof(SecondPage), myItem);

现在,在第二页上,可以存储传入的参数:

KeyValuePair<string, string> _myItem;

protected override void OnNavigatedTo(NavigationEventArgs e)
{
   _myItem = e.Parameter as KeyValuePair<string, string>;
   myTextBox.Text = myItem.Value;
}

现在,当用户想要保存编辑后的文本时:

_myItem.Value = myTextBox.Text;

//save it to the settings
localSettings.Values[_myItem.Key] = _myItem.Value;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM