2013-06-30 60 views
1

在我決定是否可以在我的項目中使用WPF RichTextBox之前,我正在使用WPF RichTextBox保護WPF RichTextBox中的自定義內聯元素

我需要的是讓文本元素代表各種對象(其他文本或對象),有點像WIKI但不完全。點擊這樣的文字會使事情發生,如導航到其他文本或提供其他選項。

無論如何,因爲這些小小的文本位代表了其他對象,我想保護它們,但是我僅僅部分地成功了:用戶不能在插入這樣的文本元素內插入插入符並編輯/刪除它,但它仍然是可能做出選擇並刪除/替換它,包括我的自定義元素。

有沒有人走過這條路與RichTextBox?我最近的實驗是簡單地記錄所有自定義文本元素作爲選擇的一部分,然後在(破壞性)編輯之後恢復它們。由於我找不到重新插入我的自定義內聯元素(來自Run類)的方式,因此崩潰了。我發現以編程方式在指定位置(TextPosition)插入Run(基)元素的唯一方法是通過其構造函數。

那麼,任何提示將不勝感激。

+0

很想看到你的代碼,因爲我試圖做類似的事情。我的情況我希望用戶能夠編輯/刪除運行,但我想知道他們對特定運行做了什麼。 – Brett

回答

0

您確實在尋找FlowDocument,而不是RichTextBox

+0

不知道我明白。 RichTextBox.Document是一個'FlowDocument'還是我缺少一些東西? –

+0

@JonasRembratt您正在使用具有最終用戶編輯功能的控件,但您希望禁用這些功能。只需使用「FlowDocumentScrollReader」或其他類型的「Reader」。 –