检测哪个控件聚焦?

时间:2011-11-28 10:49:33

标签: c# wpf xaml mvvm keyboard-shortcuts

我想为两个带有一个快捷方式名称的按钮设置两个快捷方式。
如何检测MVVM中关注哪个控件?

1 个答案:

答案 0 :(得分:0)

您可以简单地将热键添加到其存在的逻辑范围内。有很多方法可以处理热键到WPF,但是您的基本标记应该如下所示:

<Window>
    <StackPanel>
        <local:MyUserControlA>
            <local:MyUserControlA.InputBindings>
                <KeyBinding Key="Enter" Command="{Binding SaveACommand}" />
            </local:MyUserControlA.InputBindings>
        </local:MyUserControlA>

        <local:MyUserControlB>
            <local:MyUserControlB.InputBindings>
                <KeyBinding Key="Enter" Command="{Binding SaveBCommand}" />
            </local:MyUserControlB.InputBindings>
        </local:MyUserControlB>

    </StackPanel>
</Window>

如果SaveACommand具有键盘焦点,则会运行UserControlA;如果SaveBCommand具有键盘焦点,则会UserControlB