2010-11-15 153 views
0

我使用您的messenger類在views/controls和viewmodels之間進行通信。 目前我在同一個視圖上多次使用同一個usercontrol。 問題是,當一個viewmodel發送消息回到usercontrol時,我的視圖中的所有 usercontrols(同一類型的)都會更新。 這怎麼能防止?僅供參考,我使用了您提供的令牌功能,但我無法使其適用於我的特殊情況。MVVM light toolkit messenger問題

回答

0

您是否嘗試過更改您的用戶控件,以便在構建時可以指定是否應該註冊該特定消息?我會以此爲出發點。

使用Messenger.Default需要注意的另一件事 - 它不是線程安全的,所以如果你最終在除usercontrol之外的很多地方使用它(例如在工作線程中通知主線程發生事件) ,那麼你最好把它包裝在另一個執行必要鎖定的類中。

0

如果您的消息繼承類, 或使用Guid作爲Messenger令牌,則可以設置消息的目標。