在WPF / XAML中,“不引人注目”的样式是否可行?

时间:2013-07-16 13:02:49

标签: wpf xaml styles

我知道我可以通过创建如下样式来重用样式:

<Style x:Key="ButtonStyle" TargetType="Button">
  <Setter Property="Margin" Value="5" />
</Style>

并应用它:

<Button Style="{StaticResource ButtonStyle}" />

但是,我想指定一种自动应用于例如用户控件中的所有按钮,就像我在使用button { margin: 5px }的CSS中所做的那样。这可能吗?

编辑:类似的问题:Is it possible to set a style in XAML that selectively affects controls?

2 个答案:

答案 0 :(得分:4)

您可以省略x:Key属性并仅包含TargetType来使用所谓的“隐式样式”。然后,这将适用于ResourceDictionary范围内该类型的每个控件。

<Style TargetType="Button">
  <Setter Property="Margin" Value="5" />
</Style>

答案 1 :(得分:3)

通过删除样式中的“x:key”属性,它将继承到所有TargetTypes。这意味着与你的css示例相同。

<Style TargetType="Button">
  <Setter Property="Margin" Value="5" />
</Style>