gpt4 book ai didi

wpf - 键盘快捷键的命令路由

转载 作者:行者123 更新时间:2023-12-04 20:53:52 26 4
gpt4 key购买 nike

基本上我想创建一个在窗口范围内有效的键盘快捷键,而不仅仅是在焦点位于绑定(bind)它的控件内时启用。

更详细....

我有一个包含 3 个控件的窗口:

  • 工具栏
  • 一个文本框
  • 自定义控件

  • 工具栏有一个绑定(bind)到命令 CustomCommands.CmdA 的按钮, 并链接到键盘快捷键 Ctrl+T。

    我的自定义控件可以处理 CmdA .当我运行应用程序并单击我的自定义控件 CmdA已启用并且工作正常。 Ctrl+T 也会触发命令。

    但是,当我选择文本框时,我的自定义命令 CmdA变为禁用。

    我可以通过将命令目标设置为 CmdA 来纠正这个问题。的按钮。现在当我选择文本框时, CmdA仍然启用。

    但是键盘快捷键 Ctrl+T 什么也不做。

    有没有简单的方法来改变键盘快捷键的范围?或者我是否需要在较低的某个地方捕捉按键,并计算出它与哪个命令相关并自己路由它(如果是这样,是否有一个框架可以做到这一点?)

    最佳答案

    为此,您通常只需要在窗口中指定输入绑定(bind),例如:

     <Window.InputBindings>
    <KeyBinding Key="N" Modifiers="Control" Command="New"/>
    ...
    </Window.InputBindings>

    对于内置应用程序命令(即 RoutedCommands),您需要 CommandBinding在窗口中也是如此。
    <Window.CommandBindings>
    <CommandBinding Command="New" Executed="CommandBinding_Executed" />
    ...
    </Window.CommandBindings>

    关于wpf - 键盘快捷键的命令路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4641689/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com