2009-06-28 148 views
2

有没有一种方法可以抑制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> 
+0

同类问题:http://stackoverflow.com/questions/641634/default-contextmenu-style-wpf – m1k4 2009-06-28 14:18:38

回答

0

通过稍微同样的问题击中。你也注意到在创建模型和创建页面之间没有可见的分隔符。我的问题是水平分隔符不完全可见,即突出显示区域没有水平分隔符。

enter image description here 这是我如何固定它:

<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> 

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