簡體   English   中英

mvvm light wpf取消注冊

[英]mvvm light wpf unregister

我對mvvm light有一些問題。 使用MVVMLight

例如我在消息上注冊_firstViewModel

FirstViewModel()
{
        Messenger.Default.Register<GrapCommunication>(this, (emp) =>
        {
            if (selectedNumber != null && emp.assetSelector.ContainsKey(selectedNumber))
                S.Points.Add(new DataPoint(DateTime.Now.ToOADate(), emp.assetSelector[selectedNumber].Last_Value));
        });
}

當我打開_secondViewModel時。 _firstViewModel仍在獲取數據。 我試圖做類似的事情

private void ExecuteSecondViewCommand()
{
    CurrentViewModel = MainViewModel._secondViewModel;
    Messenger.Default.Unregister(_firstViewModel);
}

沒有幫助。

嘗試也指示對象類型Messenger.Default.Unregister<GrapCommunication>(_firstViewModel) 並確保_firstViewModel與注冊該調用的FirstViewModel相同。

您還可以使用Messenger的token參數,這將允許您在同一ViewModel上注冊同一對象的多個實例,並為您提供有關注冊的一些額外信息。

Messenger.Default.Register<GrapCommunication>(this, "RegistrationDescription",(emp) => {...}

Messenger.Default.Unregister(_firstViewModel, "RegistrationDescription");

暫無
暫無

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

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