And*_*zej 1 c# keyboard wpf xaml binding
我决定通过按页面上的键来复制按钮,但收到如下错误:
“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>
Run Code Online (Sandbox Code Playgroud)
我可以欺骗系统吗?
您可以使用D1,这是1键的枚举值。有关所有可能值的列表,请参阅键枚举页面。
<KeyBinding Command="{Binding SomeCommand}" Key="D1"/>
Run Code Online (Sandbox Code Playgroud)
或只是绑定:
<KeyBinding Command="{Binding SomeCommand}" Key="{Binding MyKey}"/>
Run Code Online (Sandbox Code Playgroud)
虚拟机:
public Key MyKey
{
get => Key.D1;
}
Run Code Online (Sandbox Code Playgroud)
这是因为你不能像枚举器那样做:
enum MyEnum
{
1,
2,
3
};
Run Code Online (Sandbox Code Playgroud)