我创建了一个View调用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都有一个按钮绑定到PhotoViewModel中的ShowInfoCmd。
实际发生的情况是,如果我单击一个PhotoView实例上的按钮,那么该实例应该会收到命令。
实际上所有实例都会收到命令。 我怎么能避免这个?
寻求帮助 问候 哔叽答案 0 :(得分:0)
解决,它是在错误的实例上引发的