我的一项任务是将数据传递到我理解的另一个页面。但是当我回到页面时,如何才能保留数据?有人可以解释一下这是如何运作的。
public sealed partial class MainPage : Page
{
string userName;
public MainPage()
{
this.InitializeComponent();
}
private void btnPage2_Click(object sender, RoutedEventArgs e)
{
Frame.Navigate(typeof(Page2) , userName);
}
private void btnName_Click(object sender, RoutedEventArgs e)
{
userName = Convert.ToString(txtname.Text);
}
}
答案 0 :(得分:0)
我已经回答了类似的question here。答案也适用于这个问题,但在你的情况下,你特别关注有问题的数据部分,所以在这里你应该特别注意答案的第二部分 - 使用一个比ViewModel
更长的问题页面本身将是最有益的解决方案。但是,使用NavigationCacheMode
也足够了,因为页面类本身及其字段将被保留。
这里有第三个选项,它使用static
表示您要保留的字段,或者创建一个保存数据的static
或单例类。然而,与ViewModel
解决方案相比,这会带来一个缺点,因为它不容易在导航堆栈中多次使用不同状态数据的单个页面。