使用继承为附加属性设置样式

时间:2011-03-16 11:44:21

标签: wpf styles attached-properties

我的问题与此类似:WPF Style with no target type?但问题是我的是附属财产:

<Style TargetType="Shape" >
    <Setter  Property="z:Zommable.Unscale" Value="StrokeThickness" />
</Style>

我的目标是:从形状派生的所有对象必须具有附加属性Zommable.Unscale的值,但我找不到如何做到这一点。 谢谢!

1 个答案:

答案 0 :(得分:1)

其他问题没有区别。你必须完全完全。因此,对于从Shape派生的每个类,您将不得不使用具有该类型的Style,该类型是基于您的风格的附加属性。

所以它会是:

<Style x:Key="basicStyle">
    <Setter Property="z:Zommable.Unscale" Value="StrokeThickness" />
</Style>

<Style TargetType="{x:Type Ellipse}" BasedOn="{StaticResource basicStyle}">
    <!-- ... -->
</Style>

<Style TargetType="{x:Type Rectangle}" BasedOn="{StaticResource basicStyle}">
    <!-- ... -->
</Style>

<!-- ... -->