我想为 wpf 编写一种样式,其中 StatusBar 中的所有按钮(具有定义的样式)具有相同的样式(例如宽度)。
这是我的风格:
<Style TargetType="{x:Type StatusBar}"
x:Key="DialogBoxStatusBarStyle">
<Setter Property="Background"
Value="LightGray" />
<Setter Property="Padding"
Value="5" />
...?
</Style>
以及元素的 xaml:
<StatusBar Style="{StaticResource ResourceKey=DialogBoxStatusBarStyle}" Grid.Row="3"
FlowDirection="RightToLeft">
<Button Content="Übernehmen"
Width="100"
HorizontalAlignment="Right" />
<Button Content="Abbrechen"
Width="100"
HorizontalAlignment="Right" />
<Button Content="OK"
Width="100"
HorizontalAlignment="Right" />
</StatusBar>
在最终版本中,我不想将所有按钮的宽度设置为 100。这应该在 StatusBar
的样式中定义,或者更好的说法是在 StatusBar
的按钮子样式中定义。
最佳答案
您可以将按钮的默认样式添加到 DialogBoxStatusBarStyle
的 Resources
:
<Style TargetType="StatusBar" x:Key="DialogBoxStatusBarStyle">
<Style.Resources>
<Style TargetType="Button">
<Setter Property="Width" Value="100"/>
</Style>
</Style.Resources>
...
</Style>
关于c# - 将样式应用于特定类型的所有子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14319079/