2009-11-09 6 views
0

J'ai un menu contextuel "popup" dans une zone de liste, et il y a deux comportements qui semblent "out-of-the-box" mais j'ai du mal à obtenir le XAML ContextMenu pour se comporter de la façon que je m'attendrais ...Le menu contextuel XAML ne se ferme pas

Un est que, quand je choisis un sous-menu (par exemple "Un" ou "Deux"), le menu initial continue à rester ouvert (par exemple "Menu" fait ne pars pas une fois que j'ai fait une sélection). Deuxièmement, les marges du menu semblent étranges. À gauche ne justifie Horizontalement semble pas faire le menu principal (par exemple, « Menu ») justifier à gauche ... Je peux contourner ce en modifiant légèrement la marge - mais c'est douloureux pour le texte dynamique ..

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> 
    <StackPanel> 
    <ListView> 
     <ListView.ContextMenu> 
     <!-- StaysOpen="False" --> 
     <ContextMenu> 
      <!-- Background="Transparent" Margin="-8,0,-8,0" --> 
      <Menu> 
      <!-- StaysOpenOnClick="False" --> 
      <MenuItem Header="Menu"> 
       <MenuItem Header="One" /> 
       <MenuItem Header="Two" /> 
      </MenuItem> 
      </Menu> 
     </ContextMenu> 
     </ListView.ContextMenu> 
     <ListViewItem Content="Red" /> 
     <ListViewItem Content="Orange" /> 
     <ListViewItem Content="Black" /> 
     <ListViewItem Content="Blue" /> 
     <ListViewItem Content="Green" /> 
    </ListView> 
    </StackPanel> 
</Page> 

Toute réflexion sur comment faire le menu principal de cette popup se comporter? Merci à l'avance, T

Répondre

0

Essayez ceci:

<ContextMenu> 
     <MenuItem Header="Menu"> 
     <MenuItem Header="One" /> 
     <MenuItem Header="Two" /> 
     </MenuItem> 
    </ContextMenu> 

vous n'êtes pas censé avoir un menu dans un menu contextuel. vous devriez mettre menuitem directement.

Questions connexes