簡體   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