[英]WPF RichTextBox tokenized editing
我試圖讓用戶使用RichTextBox
控件編輯文本的特定部分(並且只編輯那些部分)。
我的方法包括在FlowDocument
中使用InlineUIContainer
標記中包含的TextBox
控件。 下面的代碼顯示了我迄今為止所取得的成就:
<RichTextBox IsDocumentEnabled="True">
<FlowDocument>
<Paragraph>
<InlineUIContainer >
<TextBox Text="Field" MinWidth="65"></TextBox>
</InlineUIContainer>
<InlineUIContainer>
<TextBlock Text="Some text..." ></TextBlock>
</InlineUIContainer>
</Paragraph>
</FlowDocument>
</RichTextBox>
這個問題是用戶能夠選擇FlowDocument
的元素並刪除它們...更糟糕的是,他們可以編輯任何屬於Run
元素的文本,甚至可以剪切/粘貼文檔中的文本。
我有想法在RichTextBox
上設置IsReadOnly="True"
,但也禁止TextBoxes被編輯...我也可以處理PreviewKeyDown但是無法處理所有情況(即:右鍵單擊並按下粘貼)。
我想知道是否有任何替代解決方案,甚至是替代庫或第三方控件都有幫助。
如何將TextBox
的IsReadOnly
屬性設置為false
並將RichTextBox
的IsReadOnly
屬性設置為true
IsReadOnly
<RichTextBox IsDocumentEnabled="True" IsReadOnly="True">
<FlowDocument>
<Paragraph>
<InlineUIContainer >
<TextBox Text="Field" MinWidth="65" IsReadOnly="False"></TextBox>
</InlineUIContainer>
<InlineUIContainer>
<TextBlock Text="Some text..." ></TextBlock>
</InlineUIContainer>
</Paragraph>
</FlowDocument>
</RichTextBox>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.