К сожалению, вы не можете применять стили к базовому типу FrameworkElement; в то время как WPF позволит вам написать стиль, он не будет применять его к элементам управления, производным от него. Похоже, что это также относится к подтипам FrameworkElement, например, ButtonBase, супертип Button / ToggleButton / RepeatButton.
Вы все еще можете использовать наследование, но вам придется использовать явный синтаксис BasedOn
, чтобы применить его к типам элементов управления, к которым вы хотите применить.
<Window.Resources>
<Style TargetType="{x:Type FrameworkElement}">
<Setter Property="Margin" Value="10" />
</Style>
<Style TargetType="{x:Type Label}" BasedOn="{StaticResource {x:Type FrameworkElement}}" />
<Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type FrameworkElement}}" />
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type FrameworkElement}}" />
</Window.Resources>