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