需要侦听属性更改消息的示例

时间:2012-02-14 12:37:58

标签: wpf mvvm-light

我的视图模型中有两个int类型的属性,它们以经典的方式广播它们的属性更改事件:

RaisePropertyChanged(MyPropertyPropertyName, oldValue, value, true);

这些属性都是int类型,所以我的监听器以:

开头
Messenger.Default.Register<PropertyChangedMessage<int>>( ????? );

如何为 propertyB 的侦听器创建 propertyA 的侦听器?

由于

1 个答案:

答案 0 :(得分:1)

我认为你需要使用switch语句。所有Messenger的目的都是播放消息。

        MessengerInstance.Register<PropertyChangedMessage<int>>(this, IntReceiver);

        RaisePropertyChanged("Test 1", 0, 1, true);
        RaisePropertyChanged("Test 2", 0, 2, true);
    }

    private void IntReceiver(PropertyChangedMessage<int> n)
    {
        switch (n.PropertyName)
        {
            case "Test 1":
                Debug.WriteLine("Test1:" + n.NewValue);
                break;
            case "Test 2":
                Debug.WriteLine("Test2:" + n.NewValue);
                break;
        }
    }