wpf - 如果我们不能绑定(bind) MouseBinding 的 Command,我们应该怎么做?

标签 wpf mvvm dependency-properties inputbinding

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

微软怎么会遗漏这个基本功能呢?是否没有简单的方法来检测 CTRL-Clicks 并将它们绑定(bind)到我的 View 模型中的命令?

最佳答案

原来我相信我是指使用TextBlockInputBindings成员。
在 .NET 4 InputsBinding s 现在继承自 Freezable ,所以现在 Command属性是依赖属性 (见 Binding support in InputBindings ),解决绑定(bind)问题。
如果您坚持使用 .NET 3.5,您可以为您想要的任何类型的事件创建一些附加属性。在您的 OnCommandChanged函数添加事件处理程序,并根据您的 Control 中的修饰符(如 ClickCount 键或 PropertyChangedCallback )进行过滤方法。

关于wpf - 如果我们不能绑定(bind) MouseBinding 的 Command,我们应该怎么做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1427638/

相关文章:

wpf - 如何强制 WPF 应用程序在管理员模式下运行

c# - 调用 FileHelperEngine 构造函数时 PresentationFramework.dll 中的 XamlParseException

.net - 在MVVM中,每个 View 模型只能有一个 View 吗?

c# - 绑定(bind)上下文菜单的 IsClosed 属性

wpf - 如何在 Style Setter 中使用 multibiding

c# - 在 WPF 中嵌入 Three.js 查看器

C# 存储和输出字符串列表的最佳方式

c# - 绑定(bind)到多个窗口上的相同属性不起作用

.net - 使用 View 中的只读依赖属性在 ViewModel 中设置属性

visual-studio-2010 - VS2010中删除项目依赖时出错