我在 WPF 中有一个带有 KeyDown 事件处理程序的窗口。
当用户按下数字键 (0-9) 时,我会响应该事件。我使用 0-9 作为快捷键来选择单选按钮。例如。按下键 3 将选择第三个单选按钮。
问题是当用户在 TextBox 中按下数字键时,我不想将按键作为快捷方式处理,因为我想保留 TextBox 的默认实现。
现在,当用户在 TextBox 内按下 3 时,TextBox 的文本设置为 3,但也选择了第 3 个单选按钮。
我认为当用户在 TextBox 内按下键时,TextBox 会将 e.Handled 设置为 true,但事实并非如此。
TextBox 也只是一个例子。如果用户在我的层次结构中的其他输入控件中输入某些内容,我不想响应 KeyDown 事件。
我想我需要更好地理解路由事件来解决这个问题,或者可能以另一种方式解决这个问题?