如何隐藏XAML菜单中菜单项左侧的空间?
问题描述:
有没有一种方法可以抑制MenuItem文本左侧的空格?如何隐藏XAML菜单中菜单项左侧的空间?
alt text 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>
答
通过稍微同样的问题击中。你也注意到在创建模型和创建页面之间没有可见的分隔符。我的问题是水平分隔符不完全可见,即突出显示区域没有水平分隔符。
这是我如何固定它:
<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>
画笔用于显示分隔符的默认外观。
同类问题:http://*.com/questions/641634/default-contextmenu-style-wpf – m1k4 2009-06-28 14:18:38