wpf - 没有任何焦点的键绑定(bind)

标签 wpf xaml c#-4.0 mvvm

我有一个有六个按钮的 WPF 屏幕。我想将每个与键绑定(bind)相关联。它们都是通过 MVVM 驱动的 ICommand。

我目前将键绑定(bind)绑定(bind)到事件而不是实际按钮:

<UserControl.InputBindings>
        <KeyBinding Key="N"  Command="{Binding MyCommand}"/>

但是,要使任何键绑定(bind)工作,我必须设置至少 1 个按钮来关注代码隐藏。我真的不想这样做,因为每个按钮/命令对于它是否处于事件状态都有不同的规则,而且我有我希望在页面加载时不活动的焦点动画。

这是可能的还是我必须集中注意力?

最佳答案

您只需将 usercontrol 的 focusable 设置为 true,因为某些元素默认情况下不会将其设置为 true

<UserControl Focusable="True">

然后你必须在用户控件的加载事件中设置 this.Focus()

关于wpf - 没有任何焦点的键绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8128898/

相关文章:

html - 将 System.Windows.Controls.WebBrowser 的内容设置为静态 HTML 文字?

wpf - 绑定(bind)错误代码的含义是什么?在哪里可以找到它们的列表?

wpf - 可以用 XAML 编写这样的动态字符串控件吗?

c# - 如何将图像的工具提示绑定(bind)到 XAML 中的异常错误消息?

c# - 对象未沿所有执行路径放置

wpf - 将两个 UIElements 作为 CommandParameter 传递

c# - 编译器找不到方法名

c# - 绑定(bind)特定附加属性的值

asp.net-mvc - 如何在 Entity Framework 代码优先中以编程方式更新数据库?

c# - 使用 SequenceEqual 然后返回哪些元素不匹配