c# - AvalonEdit 插入文本不起作用

标签 c# text avalondock avalonedit icsharpcode

我无法将字符插入到我的 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;
            }
        }
    }

我不知道为什么它不起作用。请帮助我。

最佳答案

试试这个:

   editor.Document.Insert(editor.TextArea.Caret.Offset, "\'");

关于c# - AvalonEdit 插入文本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19076506/

相关文章:

c# - 如何限制用户在多个文本输入中输入重复文本

c# - .NET CF 中 SQL CE 数据库的 RAM 使用情况

c# - 我可以自定义 AvalonDock 上下文菜单吗?

c# - 数据集列名和行值

c# - ReferentialConstraint 中的依赖属性映射到存储生成的列。列 :

html - 包装表格中单元格的内容

java - 如何写入文档中的下一个空白行?

text - 在 SwiftUI 中减少文本的行距

c# - AvalonDock 的状态和状态,AvalonDock 的选项

c# - Avalon Dock 2.0 LayoutItemTemplateSelector 给出了 ContentPresenter 而不是 ViewModel