Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF RichTextBox标记化编辑_C#_Wpf_Richtextbox - Fatal编程技术网

C# WPF RichTextBox标记化编辑

C# WPF RichTextBox标记化编辑,c#,wpf,richtextbox,C#,Wpf,Richtextbox,我试图使用RichTextBox控件让用户能够编辑文本的特定部分(并且仅限于这些部分) 我的方法包括在流程文档中使用InlineUIContainer标记中包含的TextBox控件。下面的代码显示了我到目前为止所完成的工作: <RichTextBox IsDocumentEnabled="True"> <FlowDocument> <Paragraph> <InlineUIContainer >

我试图使用
RichTextBox
控件让用户能够编辑文本的特定部分(并且仅限于这些部分)

我的方法包括在
流程文档中使用
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>

问题在于,用户可以选择
流程文档中的元素并将其删除。。。更糟糕的是,他们可以编辑
Run
元素中的任何文本,甚至可以剪切/粘贴文档中的文本

我想在
RichTextBox
上设置
IsReadOnly=“True”
,但这也会禁止编辑文本框。。。我还可以处理PreviewKeyDown,但不能处理所有情况(即:右键单击并按粘贴)


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

TextBox
IsReadOnly
属性设置为
false
,将
RichTextBox
IsReadOnly
属性设置为
true
怎么样

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

不错。我不希望
IsReadOnly
是继承的财产,但它确实是。