对TextBlock和Run元素使用相同的样式

时间:2011-10-20 12:32:02

标签: .net wpf styles

我有一个WPF样式,为TextDecorations设置TargetType: TexBlock依赖项属性。我需要对某些Text元素中的某些Run元素使用相同的样式,而TextBlock本身并不使用上述样式。如何在不重复相同样式的情况下实现此目的,只需要一个不同的TargetType

1 个答案:

答案 0 :(得分:5)

只是不要指定TargetType但是要对该属性进行限定,例如:

<Style x:Key="CommonStyle">
    <Setter Property="Inline.TextDecorations" Value="StrikeThrough" />
</Style>
<TextBlock Style="{StaticResource CommonStyle}" Text="Lorem Ipsum" />
<TextBlock>
    <Run Style="{StaticResource CommonStyle}" Text="Lorem" />
    <Run Text="Ipsum" />
</TextBlock>

如果您想进一步开发可以使用BasedOn的样式,这也允许通过不在派生样式上设置键来隐式应用所述样式。