块/内联的样式属性 - 有没有办法得到这个?

时间:2010-03-04 20:52:14

标签: silverlight silverlight-4.0 richtextbox

我在SL4Beta中使用新的RichTextBox控件,并希望为段落和运行(块和内联)创建样式。我注意到我可以<Block/>创建一个样式,如下所示:

<Style x:Key="lvl2Paragraph" TargetType="Block">
    <Setter Property="FontFamily" Value="Times New Roman"/>
    <Setter Property="FontStyle" Value="Italic"/>
    <Setter Property="FontSize" Value="22"/>
</Style>

但我无法将其设置为<Paragraph/> 成员“Style”成员无法识别或无法访问。像这样:

<RichTextBox TextWrapping="Wrap">
    <Paragraph Style="{StaticResource lvl2Paragraph}">
        Can't set a style for a paragraph.
    </Paragraph>
</RichTextBox>

有没有为RichTextBox公开“Style”?我对所有想法持开放态度。

1 个答案:

答案 0 :(得分:1)

Style是从FrameworkElement继承的元素支持的属性和机制。但是RichTextBox的内容是轻量级的,他们的班级祖先中没有FrameworkElement甚至UIElement

我能想到的唯一方法是创建一个Attached属性来代替缺少的Style属性。但是,您可以在该附加属性中实现其他属性的所有设置。如果内联Xaml也设置相同的属性,它将对文档顺序敏感。