Any way to make a Separator within a WPF menu more narrow?
我注意到,在 WPF 的菜单中设置的默认分隔符的边距或高度似乎比其他一些应用程序(例如 Visual Studio 2010)稍大。我知道这些分隔符可以重新模板化通过使用自定义 ControlTemplate 应用新样式,但像往常一样,我正在寻找任何可能的方法来更改它,而无需手动重新定义控件的组成。
如果我的要求是不可能的,如果有人可以提供权威和详尽的解释,我会接受答案。另外我想强调一下,我对如何重新定义 ControlTemplate 的讲座不感兴趣,因为我将其视为最后的手段,并且我已经知道如何实现这一点。
aero.normalcolor 菜单项分隔符的样式如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <Style x:Key="{x:Static MenuItem.SeparatorStyleKey}" TargetType="{x:Type Separator}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type Separator}"> <Grid SnapsToDevicePixels="true" Margin="0,6,0,4"> <Rectangle Height="1" Margin="30,0,1,1" Fill="#E0E0E0"/> <Rectangle Height="1" Margin="30,1,1,0" Fill="White"/> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> |
您需要将此样式复制到您的 app.xaml 并更改
我总是使用负边距: