2009-06-28 214 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> 

畫筆用於顯示分隔符的默認外觀。