Команда получена всеми экземплярами вместо одного инструментария 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 ответ
Решение