Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 这些字符的键码是什么WPF_C#_Wpf_Xaml_Event Handling_Enumeration - Fatal编程技术网

C# 这些字符的键码是什么WPF

C# 这些字符的键码是什么WPF,c#,wpf,xaml,event-handling,enumeration,C#,Wpf,Xaml,Event Handling,Enumeration,我正在使用基于WindowsPresentationFoundation(WPF)的代码编辑器。我想在用户添加一个打开的BrakSet时自动添加闭合括号。但是在System.Windows.Input.Key中,我找不到括号中的键代码。我还需要在下面的代码部分中提到的一些字符代码 // Brackets, square brackets and curly brackets "(" ")" "[" "]" &qu

我正在使用基于WindowsPresentationFoundation(WPF)的代码编辑器。我想在用户添加一个打开的BrakSet时自动添加闭合括号。但是在
System.Windows.Input.Key
中,我找不到括号中的键代码。我还需要在下面的代码部分中提到的一些字符代码

//  Brackets, square brackets and curly brackets "("  ")" "[" "]" "{" "}" 
//  Lower/Greater: "<" ">"
//  Equal, quote and single quote " ' =

private void htmlcode_KeyDown(object sender, KeyEventArgs e)
{
   if(e.Key = /* the keycode that I need */)
   {
      htmlcode.Text = htmlcode.Text + "<close variant of key>";
   } 
} 
//方括号、方括号和花括号“(“”)”“[”“]”“{”“}”
//较低/较大:“
//相等、引号和单引号“'=
私有无效htmlcode_KeyDown(对象发送方,KeyEventArgs e)
{
if(e.Key=/*我需要的keycode*/)
{
htmlcode.Text=htmlcode.Text+“”;
} 
} 

我需要
System.Windows.Input.Key
enum中这些字符的名称。
System.Windows.Input.Key
enum中没有这些字符的值


但是,您可以处理
预览输出
事件,而不是
向下键

private void htmlcode_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
    switch (e.Text)
    {
        case "{":
            // add "}"
            break;
        // etc
    }
}

我想说你还没有尝试在谷歌上搜索这个…我只是搜索了这些{}并从SO那里得到了解决方案。在发布问题之前,请尝试查找它是否已经存在answered@JuanCarlosRodriguez但是你不会费心告诉OP你发现了什么吗?我也很想看看例如
{
。在我的键盘上,有三个连续的键码……我会尝试用谷歌搜索。@Clemens这里他要的是{}在那里,人们建议用按键事件来代替按键,采取look@JuanCarlosRodriguezWPF中没有按键事件,KeyEventArgs中也没有KeyCode属性。
PreviewTimeput
在通过Ctrl+V插入文本时应被触发。因此
e.text
可以是一个长字符串,可能包含也可能不包含brackets@ASh是的,但是在这种情况下,OP可能不想自动添加结束括号。idk。
“{{{{{{{code>邀请2个结束}。
“{
也可以结束。@ASh当然,这给OP留下了一些编程工作。