TextBox部分可编辑

时间:2011-10-23 02:17:32

标签: wpf xaml

是否可以将TextBoxRichTextBox的内容设为可编辑?例如,我希望看到如下内容:

<TextBox TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto" FontFamily="Courier New" Margin="10,0">
    This text and anything before it isn't editable.

    This Text is Editable

    This text and anything after it is not editable.
</TextBox>

或类似的东西:

<RichTextBox AcceptsReturn="True" VerticalScrollBarVisibility="Auto" FontFamily="Courier New" Margin="10,0">
    <FlowDocument>
        <Paragraph>This text and anything before it is not editable.</Paragraph>
        <Paragraph>This text is editable.</Paragraph>
        <Paragraph>This text and anything after it is not editable.</Paragraph>
    </FlowDocument>
</RichTextBox>

理想情况下,我可以设置与不可编辑文本不同的可编辑文本的样式。在任何人告诉我我不应该这样做之前,我有充分理由这样做。

提前致谢。

2 个答案:

答案 0 :(得分:3)

您应该能够将三个控件封装到可滚动区域中,并根据需要调整可编辑字段的大小(即,可编辑字段没有滚动,只有包含区域)。

它不是很漂亮,特别是如果没有一种简单的方法可以使用XAML(我从来没有使用它,所以我不能说),但我会满足于它比试图破解它更好进入(Rich)TextBox。

答案 1 :(得分:2)

一个文本框,其Template覆盖以隐藏其边框和2个具有相同外观和感觉的文本块,并在Template中发布文本框,可以实现您的目标。

你可以覆盖的

Default textbox template就在这里......