0

我创建了一个 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 实例上的按钮,则只有该实例应该接收命令。

实际上所有实例都收到命令。我怎样才能避免这种情况?

感谢关于哔叽的帮助

4

1 回答 1

0

解决,它是在错误的实例上引发的

于 2012-12-29T09:09:41.403 回答