如何在多个页面之间共享属性/在导航中通过引用传递



我正在编写一个 UWP 程序,我希望在多个页面之间共享一个公共属性/字段。我尝试在父页面中创建一个模型(或视图模型)实例,并将该实例作为Frame.Navigate方法的参数传递给子页面。但是,由于 C# 中的参数是按值传递的,并且 Frame.Navigate 不支持引用或输出,因此我希望在多个页面之间实际共享此实例不起作用。

我的问题是

  1. 这是在页面之间共享值的常见做法吗,它会起作用吗?
  2. 如果不是,建议的方法是什么?
  3. 如果是,为什么有效?

如果要在多个页面之间共享一个模型的相同值,请将模型设置为静态类。这样他们就会共享它的单个副本。

如果逐页修改该值,则可以传递模型的对象,并且可以在下一页的OnNavigatedTo中检索相同的对象

 ItemModel objEditItem;
    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        if (e.Parameter != null)
        {
            objEditItem = new ItemModel();
            objEditItem = e.Parameter as ItemModel;
        }
    }

相关内容

  • 没有找到相关文章

最新更新