我有一个WPF菜单,其中有一个我要为黑色且宽度为1像素的分隔符。但是,分隔符似乎具有内置的30像素宽的缓冲区空间,我无法更改颜色。在下面的示例中,我将分隔符设置为50像素宽-如您所见,前30像素不能反映正确的背景色。很烦人!我想念什么?
这里是XAML:
<Menu DockPanel.Dock="Top" FontSize="45" Height="62" Name="Menu">
<MenuItem Header="_Home" Name="HomeMenuItem" Click="HomeMenuItem_Click" Padding="10,0,10,0"></MenuItem>
<Separator Width="50" Background="Black" Foreground="Black" BorderThickness="0" Margin="0" Padding="0"></Separator>
<MenuItem Header="_Print" Name="PrintMenuItem" Click="PrintMenuItem_Click" Padding="10,0,10,0"></MenuItem>
...
<Style x:Key="SeparatorStyle" TargetType="{x:Type Separator}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Separator}">
<Border Padding="0" Margin="0" BorderThickness="0" Background="#40000000"></Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
然后在XAML主窗口中引用这样的自定义ControlTemplate:
<Separator Width="1" Style="{StaticResource SeparatorStyle}"></Separator>