簡體   English   中英

如何獲得富文本框字符顏色?

[英]How to get Rich Text Box Character Color?

我有一個富文本框應用程序,我必須執行兩個操作。

1)我必須只突出顯示富文本框文本的一部分字符。

示例:假設我有100個沒有空格的字符。 在此我需要驗證用戶不能只突出顯示一些允許的字符。

意味着我有100個字符,管理員僅允許20%,然后用戶只能突出顯示20%。 字符基色為黑色,表示用戶無法更改任何80個字符的顏色。 用戶只能更改任何顏色的20個字符。

2)假設用戶突出顯示任何文本。 然后,用戶用戶可以使用突出顯示為注釋的任何文本進行標記。

我已經做了很多搜索,但我沒有得到任何解決方案,請幫我找到解決方案。

好吧,我假設這是一個基於'desktop-application'標簽你正在詢問的WPF RichTextBox。 所以在WPF RichTextBox中你有一個TextRange對象,它上面有一個ApplyPropertyValue

因此,您需要獲取跨越所需字符的TextRange,然后將屬性TextElement.Foreground應用於您選擇的畫筆。

例如,如果您希望將20-40字符變為紅色,則可能會執行以下操作:

var range = new TextRange(
  rtb.Document.ContentStart.GetPositionAtOffset(20),
  rtb.Document.ContentStart.GetPositionAtOffset(40));
range.ApplyProperty(TextElement.ForegroundProperty, Brushes.Red);

值得注意的是,當您應用這樣的屬性時,文本將在內部分解為多個運行,並且通過偏移獲取位置將不會以相同的方式工作。 在這種情況下,您應該獲取整個文檔的TextRange並調用ClearAllProperties或使用TextPointer並遍歷運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM