Нужен пример прослушивания сообщений об изменении свойства - PullRequest
0 голосов
/ 14 февраля 2012

В моей модели представления есть два свойства типа int, которые транслируют события, изменяющие их свойства, классическим способом:

RaisePropertyChanged(MyPropertyPropertyName, oldValue, value, true);

Оба эти свойства имеют тип int, поэтому мой слушатель начинается с:

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

Как создать прослушиватель для propertyA отдельно от прослушивателя для propertyB ?

Спасибо

1 Ответ

1 голос
/ 14 февраля 2012

Я думаю, вам нужно использовать оператор switch.Ведь целью мессенджера является трансляция сообщений.

        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;
        }
    }
...