繁体   English   中英

C#WPF RichtextBox类型的行为更改

[英]C# WPF RichtextBox type behavior change

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

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

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

这使我无法在RTB中写更多的字符。 我假设它是使我的文本处于选中状态,并且每次按键都将其覆盖。 我找不到任何DeSelect()方法,因此还有另一种获取此字符串数据的方法来防止此问题。 我需要将字符串传递给正则表达式。

其次,RTB只需双击即可将IBeam放入框中。 有没有一种方法可以重新创建单击一次即可输入的TextBox的行为(或者默认情况下是否应单击一次即可输入?)

而不是全部选择内容,而是将流文档转换为纯文本。

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

将FlowDocument转换为简单文本

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM