繁体   English   中英

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

[英]How to share property between multiple pages / pass by reference in navigation?

我正在编写UWP程序,并且希望在多个页面之间共享一个公共属性/字段。 我试图在父页面中创建一个模型(或者可能是viewmodel)实例,并将该实例作为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;
        }
    }

暂无
暂无

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

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