有人可以向我解释为什么这不起作用? ToolBar中的按钮未获得Black BorderBrush属性设置。我已经尝试了TargetType =“Button”和TargetType =“{x:Type Button}”,但都没有工作。我为一系列标签做了几乎完全相同的事情,它工作得很好。我对WPF很新。有什么我不理解风格优先的地方吗?谢谢!
...Window Definition...
<Grid>
<Grid.Resources>
<Style TargetType="{x:Type Button}">
<Setter Property="BorderBrush" Value="Black" />
</Style>
</Grid.Resources>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<ToolBar Grid.Column="0" Grid.Row="0" Margin="0">
<Button>
<StackPanel Orientation="Horizontal" Height="Auto">
<Rectangle Width="16" Height="16" Fill="LightBlue" VerticalAlignment="Center"></Rectangle>
<Label Padding="0" VerticalAlignment="Center" HorizontalAlignment="Left">Redraw</Label>
</StackPanel>
</Button>
... More Buttons ...
</ToolBar>
</Grid>
... End Window Definition ...
答案 0 :(得分:2)
你去吧
<Style x:Key="{x:Static ToolBar.ButtonStyleKey}"
TargetType="{x:Type Button}">
<Setter Property="BorderBrush"
Value="Black" />
</Style>
来自How to: Style Controls on a ToolBar
工具栏定义 ResourceKey 对象,以在工具栏中指定控件样式 。要在工具栏中设置控件样式,请将样式的 x:key 属性设置为ToolBar中定义的ResourceKey。
ToolBar定义了以下ResourceKey对象: