UserControl和KeyBinding(WPF)的问题

时间:2015-08-20 19:01:11

标签: c# wpf

我有一个带ContentControl的窗口,我在其中显示我的usercontrol。每个usercontrol都有其KeyBindings。问题是当用户控件失去焦点时,键绑定不起作用。如果我在usercontrol外面的窗口中的任何地方单击,我就无法访问键绑定。我可以使用全局键绑定,但每个都是特定的用户控件?我找到了一些解决方案,但不要为我服务。 THX!

1 个答案:

答案 0 :(得分:0)

你能做什么:

  1. 创建包含命令的新类。每个命令代表您要在用户控制中执行的操作

    curve1<-do.call("cbind", curve1)
  2. 在您的用户控件子目录中使用此命令:

  3. 在XAML中:

    public static class CustomCommands
    {
        public static readonly RoutedUICommand SettingsCommand = new RoutedUICommand
            (
                    "SettingsCommand",
                    "SettingsCommand",
                    typeof(CustomCommands),
                    new InputGestureCollection()
                            {
    
                            }
            );
    }
    

    或代码隐藏:

    <UserControl.CommandBindings>
        <CommandBinding Command="local:CustomCommands.SettingsCommand" Executed="OnSettingsExecuted"></CommandBinding>
    </UserControl.CommandBindings>
    
    1. 在窗口中绑定命令键:

      CustomCommands.SettingsCommand.Executed += (s, e) => { };
      
    2. 因此,当窗口处于活动状态时,您将接受窗口缩放键绑定。

      希望,这有帮助