问题标签 [inputbinding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2034 浏览

wpf - 当我将输入绑定到 DataGrid 中的“return”键时,我不会离开编辑单元格

当我在网格中时,我想捕获一些键来做某事。我捕获了“delete”键并且没有问题,但是当我尝试捕获“Return”键并且我正在编辑单元格时,当我按下 Return 键时,我不会离开编辑单元格模式。

如果我不执行回车键绑定,当我在编辑单元格时按回车键时,它会离开编辑模式并转到下一行。

如果我注释了“返回”键绑定的所有代码,就会出现问题,所以我认为问题不是我使用的代码,而是返回键的输入键绑定。

当我想捕获返回键时,我必须有一些特殊的考虑吗?

我在 xaml 中使用以下代码进行绑定:

谢谢。

0 投票
1 回答
1108 浏览

wpf - 如何处理 InputBinding 命令和切换按钮?

我有一个 InputBinding 目的是 F6 作为激活编辑模式的快捷方式,如下所示:

按钮本身如下所示:

如果手动按下按钮,则会触发命令。此外,如果用户按 F6。但在这种情况下,按钮不会获​​得 IsChecked 状态。如何在不为 KeyBinding 编写不同命令的情况下完成此操作?

0 投票
1 回答
1340 浏览

wpf - 如何将输入键绑定到wpf中的itemscontrol

我有一个项目控件,它在画布上有项目,当我按删除时,我想从画布中删除一个项目:

但是,永远不会调用 DeleteItemCommand 中的方法。

我怎样才能做到这一点?

0 投票
0 回答
946 浏览

wpf - 不同的修饰符在 WPF 输入绑定上触发不同的命令

我在尝试弄清楚如何在 WPF 中的同一鼠标操作上为不同的修饰键触发不同的命令时遇到了麻烦。我开发了一组图形类,我试图让用户在其中选择点。图形对象维护一个选定点的列表,当将点作为参数传递时,命令应该只选择给定的点(SelectPointCommand) 或将点添加到当前选择 (AddPointToSelectionCommand)。

我知道我可以在执行命令时运行的代码中检查 Keyboard.Modifiers 但是我更愿意在相当高的级别提供功能,而不是将其限制为图形对象本身中的某些修饰键,以便可以通过其他方法轻松触发相同的功能,例如。单击一个按钮。

我原以为以下 XAML 会起作用(边框只是实际数据模板的简化,检测鼠标手势没有问题)

使用此 XAML,LeftClick 的 MouseBinding 大部分时间都会被触发,无论按下哪个修饰键。Ctrl+LeftClick 或 Shift+LeftClick 似乎偶尔触发,但没有任何特定模式。我已经尝试在更高级别(和更低级别)定义 LeftClick 鼠标绑定,假设 LeftClick MouseBinding 只会在带有修饰符的更具体的绑定没有触发但它似乎不起作用的情况下才会触发。

从更一般的意义上说,实际上是否可以将具有不同修饰键的相同鼠标操作绑定到不同的命令?我原以为会触发更具体的绑定或在 XAML 中较早定义的绑定,而不是更广泛/后来定义的绑定。

0 投票
5 回答
24885 浏览

wpf - 当 TextBox 获得焦点时,UserControl 中的 KeyBinding 不起作用

以下情况。我有一个带有五个键绑定的 UserControl。当 TextBox 获得焦点时,UserControl 的键绑定停止触发..

有没有办法解决这个“问题”?

似乎功能键(F1等)和ALT+[key]确实有效。我认为CTRLandSHIFT修饰符以某种方式“阻止”事件冒泡到 UserControl。

0 投票
1 回答
434 浏览

wpf - 合成后如何将 InputBindings 添加到窗口?

我试图通过实现我自己版本的众所周知的计算器示例来掌握使用 MEF 框架。用户界面在 WPF 中。

合成后,Viewmodel 拥有一个ObservableCollection(Of IOperation)由 View 中的“ListBox”表示的Buttons。每个上的文本都ButtonChar定义IOperation为一个名为 的属性Symbol。通过将 ListBox 的 SelectedItem 绑定到 ViewModel 中的属性,我可以触发 Calculate当前选择的方法,IOperation而无需知道Button按下了哪个方法。(下面的代码说明了这一点。)

但是,现在我需要添加InputBindings到 View ,其中每个KeyBinding都将与SymbolIOperation. 看起来我无法避免实现一个Select Case( switch) 语句来遍历 Viewmodel 的IOperations 集合,以选择应该调用 'Calculate' 方法的那个。

有任何想法吗?

XAML:

操作:

视图模型:

0 投票
1 回答
1846 浏览

wpf - WPF DataGrid 仅左键单击行

如何仅在选择行时启用数据网格的左键单击?这是一个例子:

现在,当我单击数据网格中的任何行时,该命令也会执行,但我只想在单击一行时执行它。

0 投票
0 回答
677 浏览

c# - 我怎样才能序列化这个类?

我有以下课程(片段):

我尝试像这样序列化它:

但是当我尝试序列化它时,我得到一个异常:

“反映类型‘System.Windows.Controls.Grid’时出现错误。”

内部异常是:

“反映属性 'InputBindings' 时出现错误。”

现在,我猜窗格中网格的 InputBindings 是导致问题的原因......知道如何在 XML 中忽略这个属性吗?或者,如果有其他方法可以解决这个问题?

0 投票
1 回答
742 浏览

c# - 输入绑定 - 鼠标点击之间的延迟,EventToCommand 工作正常

直到今天,我一直在使用 MVVM Light 的 EventToCommand 在 XAML 中进行事件处理。我决定为鼠标事件尝试 InputBinding,但到目前为止,结果远非令人满意。我猜我做错了什么,因为鼠标点击之间可能有半秒的延迟。使用 EventToCommand,UI 将在我单击它时以最快的速度更新。这个测试程序目前所做的只是在单击时在画布上填充一个白色或黑色的圆圈。

我在这里做错了什么导致点击之间的延迟?我无法想象这将是预期的行为。我有几乎相同的 EventToCommand 设置,它没有问题。此外,假设我确实犯了一个愚蠢的错误并且这不是预期的行为,对于键和鼠标事件,InputBinding 是否比 EventToCommand 有任何优势,反之亦然?两者在功能和性能方面有何不同(如果在这种情况下这甚至是一个问题)?

编辑 - 我注意到 InputBinding 和 EventToCommand (我设置的几乎相同)的其他一点是,每次单击圆圈时,任务管理器都会显示程序的内存使用量会上升一点。这是正常的吗?

0 投票
1 回答
2447 浏览

wpf - InputBinding CommandParameter 绑定到集合

对于 KeyBinding,我正在使用 Binding 在 Xaml 中设置 CommandParameter。在 Binding 中有一个 Converter 设置。

当我将参数绑定到属性 (INPC) 时,绑定系统使用转换器重新评估。

但是,当我将参数设置为可观察集合时,CollectionChanged 上的绑定系统不会重新评估。因此,我收到了初始转换值。

有没有办法触发 CommandParameter 重新评估 CollectionChanged。

在上面的代码中,我设置了一个视图模型(datacontext)。但我打算将命令参数绑定到 Grid 的 SelectedRows 集合。