我想使用RichTextBox
显示一些富文本但禁用它,因此无法编辑文本。我希望背景在禁用时是透明的,但默认行为是在禁用控件时使背景变灰。我已尝试重写ControlTemplate
和样式,但没有运气。
只要我没有设置IsEnabled="False"
,将背景设置为透明即可。基础ControlTemplate
中有一个样式触发器,当控件被禁用时会重置背景,但我无法弄清楚如何覆盖它。
答案 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>