我需要一个以String作为参数的函数,并返回一个System.Windows.Input.Key.例如:
var x = StringToKey("enter"); // Returns Key.Enter
var y = StringToKey("a"); // Returns Key.A
Run Code Online (Sandbox Code Playgroud)
除了if/else或switch语句之外,还有什么方法可以做到这一点吗?
Bug*_*der 16
看看KeyConverter,它可以转换为a Key和from string.
KeyConverter k = new KeyConverter();
Key mykey = (Key)k.ConvertFromString("Enter");
if (mykey == Key.Enter)
{
Text = "Enter Key Found";
}
Run Code Online (Sandbox Code Playgroud)
Key是一个枚举,所以你可以像任何枚举一样解析它:
string str = /* name of the key */;
Key key;
if(Enum.TryParse(str, true, out key))
{
// use key
}
else
{
// str is not a valid key
}
Run Code Online (Sandbox Code Playgroud)
请记住,字符串必须完全匹配(好吧,几乎;由于该true参数,它是不区分大小写的比较)枚举值的名称.
| 归档时间: |
|
| 查看次数: |
7404 次 |
| 最近记录: |