我正在编写一个UWP程序,我希望在多个页面之间共享一个公共属性/字段。我尝试在父页面中创建模型(或可能是viewmodel)实例,并将实例作为Frame.Navigate
方法的参数传递给子页面。但是,由于C#中的参数是按值传递的,而Frame.Navigate不支持引用或输出,我希望它不能在多个页面之间实际共享此实例。
我的问题是
答案 0 :(得分:2)
如果要在多个页面之间共享一个模型的相同值,请将模型设置为静态类。这样他们就可以分享它的单一副本。
答案 1 :(得分:0)
如果逐页修改了该值,那么您可以传递模型的对象,并可以在下一页的OnNavigatedTo中检索该对象
ItemModel objEditItem;
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if (e.Parameter != null)
{
objEditItem = new ItemModel();
objEditItem = e.Parameter as ItemModel;
}
}