gpt4 book ai didi

c# - WPF RichTextBox 标记化编辑

转载 作者:太空宇宙 更新时间:2023-11-03 22:54:03 25 4
gpt4 key购买 nike

我正在尝试使用户能够使用 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 上但这也会禁止编辑 TextBoxes...我也可以处理 PreviewKeyDown 但这不能处理所有情况(即:右键单击并按粘贴)。

我想知道是否有任何替代解决方案,甚至是替代库或第三方控件有帮助。

最佳答案

如何将 TextBoxIsReadOnly 属性设置为 false 以及 IsReadOnly 属性>RichTextBoxtrue?:

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

关于c# - WPF RichTextBox 标记化编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46297825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com