使用分离式的:
<Style x:Key="SeparatorStyle1" TargetType="{x:Type Separator}">
<Setter Property="Background" Value="{DynamicResource
{x:Static SystemColors.ControlDarkBrushKey}}"/>
<Setter Property="Margin" Value="0,2,0,2"/>
<Setter Property="Focusable" Value="false"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Separator}">
<Border Height="1" SnapsToDevicePixels="true"
Background="#FFCCD480" BorderBrush="#FF633A3A" BorderThickness="0,0,0,1"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
,并使用它像这样
<ComboBox Background="#FFD2D2B5">
<ListBoxItem Content="item1"/>
<ListBoxItem Content="item2"/>
<Separator Style="{DynamicResource SeparatorStyle1}"/>
<ListBoxItem Content="item3"/>
应该这样做
添加边框工作。为什么是这样? – jmlumpkin 2010-11-24 16:43:17
其实它主要是因为分隔符显然有一个不为零的默认边距。因此,如果没有边框,弹出式菜单的背景颜色将会显示。 (实际上,如果您只将分隔符的边距设置为零,您也不会看到白色背景,尽管项目之间的间距可能稍微偏离)。放置边框将有效地“隐藏”弹出式菜单的背景。希望这是有道理的。 – ASanch 2010-11-24 17:24:57