这是我想要做的事情:
<Application.Resources>
<Style TargetType="{x:Type UIElement}">
<Setter Property="Opacity"
Value=".1" />
</Style>
</Application.Resources>
这样我可以设置任何类型的样式(不仅仅是最终的具体UI类型)。我不是在寻找最佳实践,而是更多需要思考的问题。
我注意到WPF没有设置TargetType
(UIElement
,FrameworkElement
等等中指定的任何超类的样式。仅当TargetType
等同于具体的UI类(Button
,Rectangle
)时才会设置样式。
答案 0 :(得分:0)
如果您只想定义基本样式,则可以使用BasedOn属性。
<Style TargetType="FrameworkElement" x:Key="ElementBase">
<Setter Property="Height" Value="24"/>
</Style>
<Style TargetType="TextBlock" BasedOn="{StaticResource ElementBase}">
</Style>
这是一项更多的工作,但也许有所帮助。