2

有没有办法可以抑制 MenuItem 文本左侧的空间?

替代文字 http://tanguay.info/web/external/extraSpaceMenus.png

类似LeftAreaVisible="Collapsed"下面的(伪代码):

<Menu DockPanel.Dock="Top">
    <MenuItem 
        LeftAreaVisible="Collapsed"
        Header="MVVM" ItemsSource="{Binding MvvmMenuPageItemViewModels}"
              ItemTemplate="{StaticResource MainMenuTemplate}"/>
</Menu>
4

1 回答 1

0

遇到了同样的问题。您是否还注意到在 Create Models 和 Create Pages 之间没有可见的分隔符。我的问题是水平分隔符不完全可见,即高亮区域没有水平分隔符。

在此处输入图像描述 这是我修复它的方法:

 <MenuItem Header="New"/>
            <Separator>
                <Separator.Style>
                    <Style TargetType="Separator">
                        <Setter Property="Margin"
                                Value="0,3" />
                        <Setter Property="Template">
                            <Setter.Value>
                                <ControlTemplate TargetType="{x:Type Separator}">
                                    <Border BorderThickness="{TemplateBinding Border.BorderThickness}"
                                            Background="{StaticResource SeperatorBrush}" 
                                            Height="1" 
                                            SnapsToDevicePixels="true"/>
                                </ControlTemplate>
                            </Setter.Value>
                        </Setter>
                    </Style>
                </Separator.Style>
            </Separator>

这里还有刷子。

 <LinearGradientBrush StartPoint="0,0" EndPoint="0,1" x:Key="SeperatorBrush">
        <LinearGradientBrush.GradientStops>
            <GradientStop Color="#FFF6F6F6" Offset="0.25" />
            <GradientStop Color="#FFEAE8E8" Offset="0.25" />
            <GradientStop Color="#FFDCD9D9" Offset="0.8" />
            <GradientStop Color="#FFFFFFFF" Offset="1" />
        </LinearGradientBrush.GradientStops>
    </LinearGradientBrush>

画笔用于显示分隔符的默认外观。

于 2011-03-23T09:53:19.630 回答