我希望能够使用常规MouseBinding
来捕获我的TextBlock
. 不幸的是,该Command
属性不是依赖属性,我使用的是 MVVM,所以我无法将它绑定到我的视图模型。
微软怎么会遗漏这个基本功能呢?是否没有简单的方法来检测 CTRL-Clicks 并将它们绑定到我的视图模型中的命令?
我希望能够使用常规MouseBinding
来捕获我的TextBlock
. 不幸的是,该Command
属性不是依赖属性,我使用的是 MVVM,所以我无法将它绑定到我的视图模型。
微软怎么会遗漏这个基本功能呢?是否没有简单的方法来检测 CTRL-Clicks 并将它们绑定到我的视图模型中的命令?
最初我相信我指的是使用TextBlock
'InputBindings
成员。
在 .NET 4InputsBinding
中,现在继承自Freezable
,所以现在Command
属性是依赖属性(请参阅InputBindings 中的绑定支持),解决了绑定问题。
如果您坚持使用 .NET 3.5,您可以为您想要的任何类型的事件创建一些附加属性。在您的OnCommandChanged
函数中添加事件处理程序,并根据您的方法中的修饰符(如Control
key 或 the ClickCount
)进行过滤PropertyChangedCallback
。
您可以随时查看使用Attached Command Behaviors。