wpf -shorcut键用于图像按钮

时间:2010-08-10 14:03:50

标签: wpf-controls

在我的wpf窗口中,我有一个图像按钮。有没有人知道如何为这个按钮分配一个快捷方式,如“Cntrl + O”。

我可以点击“_”来点击普通按钮。

<Button Margin="89,73,114,106" Name="button1" Click="button1_Click">
        <StackPanel Name="_StackPanel">
            <Image Source="image.png" ></Image>
        </StackPanel>            
    </Button>

1 个答案:

答案 0 :(得分:1)

在WPF中,一般键盘快捷键(与Alt访问键的特殊情况不同)未分配给按钮,它们被分配给操作。如果同时需要按钮(或菜单项,多个按钮等)和键命令,则可以对两者使用单个命令。对于自定义RoutedCommand,您可以指定KeyGestures来触发命令:

    public static RoutedCommand MyCommand { get; private set; }

    static Window1()
    {
        MyCommand = new RoutedCommand("MyCommand", typeof(Window1), new InputGestureCollection { new KeyGesture(Key.O, ModifierKeys.Control) });
    }

    public Window1()
    {
        InitializeComponent();
        CommandBindings.Add(new CommandBinding(MyCommand, (_, e) => MessageBox.Show("Command fired")));
    }

然后还将其指定为Button的命令:

<Button Content="Click Me" Command="{x:Static local:Window1.MyCommand}"/>