2009-06-28 4 views
2

Gibt es eine Möglichkeit, dass ich das Leerzeichen links neben dem Text eines MenuItems unterdrücken kann?Wie kann ich den Platz links von Menüeinträgen in XAML-Menüs ausblenden?

alt text http://tanguay.info/web/external/extraSpaceMenus.png

Etwas wie LeftAreaVisible="Collapsed" (Pseudocode) unten:

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

Ähnliche Frage: http://stackoverflow.com/questions/641634/default-contextmenu-style-wpf – m1k4

Antwort

0

das etwas gleiche Problem Struck durch. Sie haben auch bemerkt, dass zwischen Create Models und Create Pages kein Trennzeichen sichtbar ist. Mein Problem war, dass der horizontale Separator nicht vollständig sichtbar war, d. H. Für den markierten Bereich gibt es keinen horizontalen Separator.

enter image description here Hier ist, wie ich es fest:

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

Auch hier ist die Bürste.

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

Pinsel wird verwendet, um das Standard-Erscheinungsbild von Separator anzuzeigen.