[英]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.