2017-08-25 44 views
0

我决定按我的网页上的按键,但得到这样的错误重复的按钮:XAML键联结1,2,3

“1”不能作为“钥匙”的值。数字不是有效的枚举值。

<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> 

我可以欺骗系统吗?

回答

0

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

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

或只是biniding:

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

VM:

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

,这是因为你不能做到像枚举:

enum MyEnum 
{ 
    1, 
    2, 
    3 
}; 
+0

https://开头MSDN。 microsoft.com/en-us/library/system.windows.input.key(v=vs.110).aspx – vdefeo

+0

我认为,你提到的评论帖子不是我的anwser:d – sTrenat

+0

这只是一个额外的信息,因为他们的钥匙属性是一个枚举 – vdefeo