如何针对所有控件(WPF样式)?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (16)

是否可以指定适用于所有元素的样式?我试过

<Style TargetType="Control">
    <Setter Property="Margin" Value="0,5" />
</Style>

但它什么也没做

提问于
用户回答回答于

Style创建仅定位Control,而不是从派生的元素Control。当你没有设置x:Key它的隐式设置TargetType,在你的情况x:Key="{x:Type Control}"

没有指定任何直接的方式Style是针对从派生的所有元素TargetTypeStyle。你有其他的选择。

如果你有以下 Style

<Style x:Key="ControlBaseStyle" TargetType="{x:Type Control}">
    <Setter Property="Margin" Value="50" />
</Style>

你可以看看所有Buttons的例子

<Style TargetType="{x:Type Button}" BasedOn="{StaticResource ControlBaseStyle}"/>

或直接在任何元素上使用样式,例如 Button

<Button Style="{StaticResource ControlBaseStyle}" ...>

扫码关注云+社区