Question

J'ai quelques contrôles ajoutés dans un stackpanel par programmation. Ce que je veux faire, c'est que je veux que l'un des contrôles de ce stackpanel soit placé sur un autre contrôle. Plus précisément, je veux placer le bouton sur une image dans ce panneau de pile. Je n'ai pas pu trouver la propriété zindex dans c # codebehind. Bien que cela semble un problème très simple, mais je suis incapable de trouver un indice pour résoudre ce problème. Quelqu'un s'il vous plait ...... ??

Était-ce utile?

La solution

Essayez de placer tous vos contrôles sur Canvas. Ensuite, vous pouvez définir Zindex avec:

this.controlName.SetValue(Canvas.ZIndexProperty, 10d);

Autres conseils

Seul le panneau Canvas prend en charge une propriété ZIndex . Stackpanel ne le fait pas car chaque élément est placé l'un après l'autre dans le panneau, de sorte qu'ils ne doivent pas se chevaucher. Cela peut être un peu gênant lorsque vous avez des transformations animées déplaçant les éléments, car l'hypothèse précédente n'est pas réellement vraie.

En général, si vous devez placer des éléments dans une pile visuelle, le Stackpanel n’est pas le lieu idéal. Peut-être un Canvas ou vous pourriez utiliser une Grille où la position oridinale d'un élément détermine son "zorder". dans une cellule.

De xaml:

<StackPanel Canvas.ZIndex="1">
</StackPanel>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top