簡體   English   中英

在MVVM Light中使用ViewModel?

[英]Working with the ViewModels in MVVM Light?

基本上,我完全使用背后的代碼創建了應用程序,現在我正在遷移到MVVM。 我面臨的挑戰之一是如何處理持久化在內存中的ViewModel。

例如,在我的應用程序的第一個版本中,我知道一旦用戶單擊某個頁面上的“后退”按鈕,該視圖將被丟棄並且所有內容將被清除,但是當我開始使用ViewModel並導航到該頁面時我上次瀏覽到頁面時創建的ViewModel(換句話說,沒有調用構造函數)。

現在這是應該工作的方式嗎? 我希望每次導航時都重新創建ViewModel,而每次回擊時都將其丟棄。 但是就像我說的那樣,這對我來說是新的。 我是否應該使用相同的視圖模型並以某種方式刷新值,以使其不顯示舊數據?

這是當用戶離開頁面(此代碼在頁面的xaml.cs中)文件時清除視圖模型的方式:

protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
        {
            if (e.NavigationMode == NavigationMode.Back)
                ViewModelLocator.ClearDetailsViewModel();

            base.OnNavigatingFrom(e);
        }

ClearDetailsViewModel的實現就像

if (_detailsViewModelStatic == null) return;
 _detailsViewModelStatic.Cleanup();
_detailsViewModelStatic = null;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM