我无法在我的AvalonEdit TextEditor中插入一个字符.
void editor_TextArea_TextEntered(object sender, TextCompositionEventArgs e)
{
if (e.Text == "{" || e.Text == "(" || e.Text == "[" || e.Text == "\"" || e.Text == "\'")
{
switch (e.Text)
{
case "{":
int i = editor.TextArea.Caret.Offset;
editor.Text.Insert(i, "}");
break;
case "(":
editor.Text.Insert(editor.CaretOffset, ")");
break;
case "[":
editor.Text.Insert(editor.CaretOffset, "]");
break;
case "\"":
editor.Text.Insert(editor.CaretOffset, "\"");
break;
case "\'":
editor.Text.Insert(editor.CaretOffset, "\'");
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我不知道为什么它不起作用.请帮我.
我想读取XML文件并保存InnerText-Strings,但它会因SystemNullReference错误而崩溃.我认为我读它的方式是错误的,但我不确定.
XML的文件:
<?xml version="1.0" encoding="Windows-1252" standalone="no"?>
<schema>
<Hintergrund>#FFFFFFFF</Hintergrund>
<Zahlen>#FFFFFFFF</Zahlen>
<Text>#FFFFFFFF</Text>
<Zeichenketten>#FFFFFFFF</Zeichenketten>
<Tags>#FF000000</Tags>
<Direktiven>#FF000000</Direktiven>
<Ausdruecke>#FF000000</Ausdruecke>
<Initialisierer>#FF000000</Initialisierer>
<Modifizierer>#FF000000</Modifizierer>
<Booleanische>#FF000000</Booleanische>
<Operator>#FF000000</Operator>
<Kommentare>#FF000000</Kommentare>
</schema>
Run Code Online (Sandbox Code Playgroud)
读:
foreach (XmlNode node in doc.SelectNodes("/schema/*"))
{
switch (node.Name)
{
case "Hintergrund":
colorBG = (Color)ColorConverter.ConvertFromString(node["Hintergrund"].InnerText);
break;
case "Zahlen":
colorNumbers = (Color)ColorConverter.ConvertFromString(node["Zahlen"].InnerText);
break;
case "Text":
colorText = (Color)ColorConverter.ConvertFromString(node["Text"].InnerText);
break;
case "Zeichenketten":
colorStrings = (Color)ColorConverter.ConvertFromString(node["Zeichenketten"].InnerText);
break;
case "Tags":
colorTags = (Color)ColorConverter.ConvertFromString(node["Tags"].InnerText);
break;
case "Direktiven":
colorDirectives = (Color)ColorConverter.ConvertFromString(node["Direktiven"].InnerText);
break;
case "Ausdruecke":
colorStatements = (Color)ColorConverter.ConvertFromString(node["Ausdruecke"].InnerText);
break;
case "Initialisierer":
colorInitial = (Color)ColorConverter.ConvertFromString(node["Initialisierer"].InnerText);
break;
case "Modifizierer": …Run Code Online (Sandbox Code Playgroud)