我正在尝试让用户使用RichTextBox
控件来编辑文本的特定部分(并且只编辑那些部分)。
我的方法包括使用TextBox
中InlineUIContainer
标记中包含的FlowDocument
控件。下面的代码显示了我迄今为止所取得的成就:
<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
元素的任何文本,甚至可以剪切/粘贴文档中的文本。
我有想法在IsReadOnly="True"
上设置RichTextBox
但是也禁止编辑TextBox ...我也可以处理PreviewKeyDown但是无法处理所有情况(即:右)点击并按下粘贴)。
我想知道是否有任何其他解决方案,甚至是替代库或第三方控件都有帮助。
答案 0 :(得分:3)
如何将IsReadOnly
的{{1}}属性设置为TextBox
以及false
的{{1}}属性设置为IsReadOnly
?:< / p>
RichTextBox