Команда получена всеми экземплярами вместо одного инструментария MVVM

Я создал вызов ViewView PhotoView с PhotoviewModel, к которому он привязан. в модели представления я определил комманду следующим образом:

 //Show info command
        ShowInfoCmd = new RelayCommand<RoutedEventArgs>(
        (e) =>
        {
            if (IsInfoOpen)
            {
                Messenger.Default.Send(new Knauf.Message.HidePhotoInfo(this));
                IsInfoOpen = !IsInfoOpen;
            }
            else
            {
                Messenger.Default.Send(new Knauf.Message.ShowPhotoInfo(this));
                IsInfoOpen = !IsInfoOpen;
            }
        },
        (e) => HasMoreInfo
        );

Тип сообщения, которое я отправляю, является пользовательским сообщением.

Для каждой фотографии я создаю новую PhotoViewModel, а затем создаю экземпляр PhotoView. Таким образом, у каждого PhotoView есть кнопка привязки к ShowInfoCmd в PhotoViewModel.

На самом деле происходит следующее: если я нажму на кнопку в одном экземпляре PhotoView, команда получит только этот экземпляр.

Фактически весь экземпляр получает команду. как я могу избежать этого?

спасибо за помощь серж

1 ответ

Решение

Решить, это было поднять на неправильный случай

Другие вопросы по тегам