【问题标题】:If we can't bind a MouseBinding's Command, what are we supposed to do?如果我们不能绑定 MouseBinding 的 Command,我们应该怎么做?
【发布时间】:2010-11-28 11:56:02
【问题描述】:

我希望能够使用常规的MouseBinding 来捕获我的TextBlock 上的CTRL-Click 事件。不幸的是,Command 属性不是依赖属性,我使用的是 MVVM,所以我无法将它绑定到我的视图模型。

Microsoft 怎么会遗漏这个基本功能呢?有没有简单的方法可以检测 CTRL-Clicks 并将它们绑定到我的视图模型中的命令?

【问题讨论】:

    标签: wpf mvvm dependency-properties inputbinding


    【解决方案1】:

    原来我相信我指的是TextBlockInputBindings成员的使用。

    在 .NET 4 中 InputsBindings 现在继承自 Freezable,所以现在 Command 属性是依赖属性(请参阅 Binding support in InputBindings),解决了绑定问题。

    如果您坚持使用 .NET 3.5,您可以为任何类型的事件创建一些附加属性。在您的OnCommandChanged 函数中添加事件处理程序,并在您的PropertyChangedCallback 方法中基于修饰符(如Control 键或ClickCount)进行过滤。

    【讨论】:

    • 链接已损坏。
    【解决方案2】:

    您可以随时查看使用Attached Command Behaviours

    【讨论】:

      猜你喜欢
      • 2014-01-06
      • 2022-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-26
      • 2014-06-24
      • 1970-01-01
      • 2014-11-09
      相关资源
      最近更新 更多