簡體   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