XAML KeyBinding 1,2,3

时间:2017-08-25 16:30:30

标签: c# wpf xaml binding keyboard

我决定按下我页面上的按键来复制按钮,但收到如下错误:

“1”不能用作“Key”的值。数字不是有效的枚举值。

 <Page.InputBindings>
    <KeyBinding Command="{Binding Btn_Click}" 
               CommandParameter="{Binding ElementName=btn1,Path=Content}"
                Key="1"/>
    <KeyBinding Command="{Binding Btn_Click}" 
               CommandParameter="{Binding ElementName=btn2,Path=Content}"
                Key="2"/>
    <KeyBinding Command="{Binding Btn_Click}" 
               CommandParameter="{Binding ElementName=btn3,Path=Content}"
                Key="3"/>
    <KeyBinding Command="{Binding Btn_Click}" 
               CommandParameter="{Binding ElementName=btn4,Path=Content}"
                Key="4"/>
</Page.InputBindings>

我可以欺骗系统吗?

1 个答案:

答案 0 :(得分:0)

您可以使用D1,这是1密钥的枚举值。请参阅Key Enumeration页面以获取所有可能值的列表。

<KeyBinding Command="{Binding SomeCommand}" Key="D1"/>

或只是双击:

<KeyBinding Command="{Binding SomeCommand}" Key="{Binding MyKey}"/>

VM:

public Key MyKey
{
    get => Key.D1;
}

这是因为您不能像以下那样执行枚举器:

enum MyEnum
{
    1,
    2,
    3
};