页面导航 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;
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;