如何使具有透明背景的禁用RichTextbox?

时间:2010-07-12 20:12:37

标签: c# wpf wpf-controls

我想使用RichTextBox显示一些富文本但禁用它,因此无法编辑文本。我希望背景在禁用时是透明的,但默认行为是在禁用控件时使背景变灰。我已尝试重写ControlTemplate和样式,但没有运气。

只要我没有设置IsEnabled="False",将背景设置为透明即可。基础ControlTemplate中有一个样式触发器,当控件被禁用时会重置背景,但我无法弄清楚如何覆盖它。

2 个答案:

答案 0 :(得分:4)

<RichTextBox Background="Transparent" IsReadOnly="True">

兼容

this.richTextBox1.IsReadOnly = "true";

您不需要使用IsEnabled属性,因为IsReadOnly不允许用户进行交互,这就是您在寻找的权利吗?

答案 1 :(得分:2)

您只需将RichTextBox的Background属性设置为透明。

<Grid>
    <Image Source="Resources/nelson.png" />
    <RichTextBox Background="Transparent" IsReadOnly="True">
        <FlowDocument>
            <Paragraph>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et 
                dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, 
                no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy 
                eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et 
                ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur 
                sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et 
                accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</Paragraph>
        </FlowDocument>
    </RichTextBox>
</Grid>

alt text