如何定位所有控件(WPF样式)

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

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

但它什么也没做

您创build的Style只针对Control而不是派生自Control元素。 当你不设置x:Key它隐式设置为TargetType ,所以在你的情况下x:Key="{x:Type Control}"

没有任何直接的方法来指定一个Style ,该Style定位从StyleTargetType派生的所有元素。 你有其他的select。

如果你有以下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}" ...>