有什么方法可以使WPF菜单中的分隔符更窄?

jpi*_*son 7 wpf menu separator

我注意到,在WPF菜单中设置样式的默认分隔符的边距或高度似乎比某些其他应用程序(如Visual Studio 2010)略大.我知道这些分隔符可以通过应用使用自定义ControlTemplate的新样式,但总是我正在寻找任何可能的方法来更改它,而无需手动重新定义控件的组成.

如果我要求的是不可能的话,如果有人可以提供权威和详尽的解释,我会接受答案.另外我想强调的是,我对如何重新定义ControlTemplate的演讲不感兴趣,因为我认为这是最后的手段,我已经知道如何实现这一点.

Dan*_*ore 12

aero.normalcolor MenuItem Separator的样式如下所示:

<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>
Run Code Online (Sandbox Code Playgroud)

您需要将此样式复制到app.xaml并更改Margin="0,6,0,4"以匹配您的首选项.