我的面板包含多种控件,例如Button, TextBox
,...以及所有这些控件都来自Control
。我想为所有这些设置保证金,我希望为Control
定义样式会自动将属性设置为所有控件,但它不起作用。
<WrapPanel>
<WrapPanel.Resources>
<Style TargetType="Control">
<Setter Property="Margin" Value="5,5,0,0" />
</Style>
</WrapPanel.Resources>
<Button Content="Button 1" />
<Button Content="Button 2" />
<TextBox Width="100" />
</WrapPanel>
答案 0 :(得分:1)
不幸的是,我不认为这是可能的:( 另见: How to target all controls (WPF Styles)
上面的xaml代码中有一个小错误,它应该说是TargetType =“{x:Type Control}”,xaml解析器设置一个Type对象(而不是字符串)。
因此,您必须为每种控件类型创建样式。 另一个选项可能是使用样式继承(基于另一种样式),但我认为代码行的数量将是相同的。
希望有所帮助。