如果我们无法绑定MouseBinding的命令,我们该怎么办?

时间:2009-09-15 14:46:28

标签: wpf mvvm dependency-properties inputbinding

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

微软怎么会遗漏这个基本功能?有没有简单的方法来检测CTRL-Click并将它们绑定到我的viewmodel中的命令?

2 个答案:

答案 0 :(得分:5)

最初我认为我指的是使用TextBlock的{​​{1}}成员。

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

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

答案 1 :(得分:3)

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