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

M. *_*ley 5 wpf dependency-properties mvvm inputbinding

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

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

M. *_*ley 5

本来我相信我指的是使用TextBlockInputBindings成员.

在.NET 4中InputsBinding现在继承Freezable,所以现在Command属性是依赖属性(参见InputBindings中的Binding支持),解决了绑定问题.

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


Pet*_*lon 3

您始终可以查看使用Attached Command Behaviours