【问题标题】:wpf -shorcut key for image buttonwpf - 图像按钮的快捷键
【发布时间】:2010-08-11 12:51:27
【问题描述】:

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

我可以输入“_”来触发点击普通按钮。

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

【问题讨论】:

标签: wpf-controls


【解决方案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 Content="Click Me" Command="{x:Static local:Window1.MyCommand}"/>

【讨论】:

    猜你喜欢
    • 2011-03-15
    • 2011-12-12
    • 2016-10-22
    • 1970-01-01
    • 2011-01-17
    • 2011-01-03
    • 2010-11-24
    • 1970-01-01
    相关资源
    最近更新 更多