【问题标题】:C# WPF RichtextBox type behavior changeC# WPF RichtextBox 类型行为改变
【发布时间】:2014-11-20 03:01:04
【问题描述】:

我最近将 TextBox(我用作搜索框)转换为 RichTextBox,以便将框中的某些包含的单词加粗。这样做后,我注意到了一些“错误”。我想知道它们是否是故意的,以及如何超越它们。

第一个也是最重要的问题只发生在我在盒子上调用 SelectAll() 以获取其关于 keyDown 事件的信息时:

((RichTextBox)sender).SelectAll();
string search = ((RichTextBox)sender).Selection.Text;

这使我无法在 RTB 中写入多个字符。我认为它会选择我的文本并在每次按键时覆盖它。我找不到任何DeSelect() 方法,所以是否有另一种获取此字符串数据的方法来防止此问题。我需要将字符串传递给正则表达式。

其次,RTB 只在双击时将 IBeam 扔进盒子里。有没有办法重新创建单击输入的 TextBox 的行为(或者默认情况下应该单击输入?)

【问题讨论】:

    标签: c# wpf richtextbox selectall


    【解决方案1】:

    不是全选,而是获取内容并将流文档转换为纯文本。

    FlowDocument doc =((RichTextBox)sender).Document;
    string search = new TextRange(doc.ContentStart, doc.ContentEnd).Text;
    

    Convert FlowDocument to simple text

    【讨论】:

      猜你喜欢
      • 2019-10-14
      • 2015-08-23
      • 1970-01-01
      • 1970-01-01
      • 2020-07-20
      • 1970-01-01
      • 2010-11-24
      • 2013-08-02
      • 1970-01-01
      相关资源
      最近更新 更多