2010-05-27 11 views
2

Nous avons une application Prism/WPF et utilisons un expandeur pour animer un menu.Prism: Comment rendre une vue par-dessus une autre

Lorsque l'extension se développe, le contenu est rendu derrière le contenu de la région principale.

Le menu se trouve dans une région différente du contenu qu'il est supposé superposer (puisque le menu détermine les éléments qui vont dans cette région), ce qui explique pourquoi cela se produit. Nous avons essayé de définir l'index Z des ContentControls en vain.

Répondre

0

Si vous placez deux éléments dans la même cellule de grille, ils se superposent. Voici un exemple où je superposer deux images dans une grille mais ne donnez pas une cellule (ce qui signifie la colonne 0, ligne 0):

<Grid> 
    <Image Source="blah.jpg" /> 
    <Image Source="another.jpg" /> 
</Grid> 

En général, vous voulez regarder plus vers des panneaux de mise en page pour des choses comme cela, plutôt que des stratégies de type Z-Order traditionnelles.

+0

Ce n'est pas la question. Nous avons quelque chose comme ça (sauter le code inutile comme les colonnes/lignes defs): Ensuite, en utilisant le prisme, nous ajoutons une vue déroulante dans la région déroulante et la vue du contenu dans le contenu principal. Lorsque la liste déroulante descend, ses éléments sont rendus derrière le contenu principal. –

2

Avez-vous essayé d'échanger l'ordre de ContentControl?

Placez votre MainContent région ContentControl dans la grille, puis votre DropdownRegionContentControl d'autre part.

<Grid> 
    <ContentControl Regions:RegionManager.RegionName="ContentControl" /> 
    <ContentControl Regions:RegionManager.RegionName="DropdownRegion" /> 
</Grid> 

En effet, dans XAML, ordonnance de placement de contrôle dicte l'ordre de rendu