Scintilla文字改变了

时间:2012-12-12 09:04:27

标签: c# wpf scintilla

我在我的WPF应用程序中使用Scintilla Text Editor,我想让用户只能编辑空格:插入,删除,替换等。 我想处理之前的文本插入事件,并且在scintilla的文本删除事件之前,但是e.Handled = true没有TextModifiedEventArgs ...如何防止插入/删除? KeyDown对我来说还不够,因为它并不总是代表文本的变化...... 我尝试了以下代码:

  static void scintilla_BeforeTextModified(object sender, TextModifiedEventArgs e)
    {
        var scintilla = (Scintilla) sender;
        if (scintilla != null)
        {
            if (!string.IsNullOrWhiteSpace(scintilla.Selection.Text) || !string.IsNullOrWhiteSpace(e.Text))
            {
                // flag to ignore the change
                _ignoreTextChanges = true;
                // save text before modified
                _text = scintilla.Text;                  
            }  }

        }   private void _scintilla_TextChanged(object sender, EventArgs e)
    {
        if (!_suspendTextChanges)
        {
            _suspendTextChanges = true;
            if (_ignoreTextChanges)
            {
                _ignoreTextChanges = false;
                Text = _text;

                _scintilla.Text = _text;
            }
            else
            {
                Text = _scintilla.Text;
            }
            _suspendTextChanges = false;
        }
        _ignoreTextChanges = false;
    }   

但我设置的文字在scintilla中并没有改变...... 任何人都可以帮助我吗?

...谢谢

0 个答案:

没有答案