Frage

Ich habe einige Kontrollen in einem Stackpanel programmatisch hinzugefügt. Was ich tun möchte, ist, dass ich will, eines der Steuerelemente in diesem Stackpanel über eine andere Kontrolle gestellt werden. Insbesondere möchte ich in diesem Stapel Feldtaste auf ein Bild platzieren. Ich konnte nicht zindex Immobilien in c # Code-Behind finden. Obwohl es sehr einfaches Problem scheint, aber ich bin nicht in der Lage eine Ahnung zu finden, dieses Problem zu lösen. Wer bitte ...... ??

War es hilfreich?

Lösung

Versuchen Sie, alle Ihre Kontrollen auf Leinwand platzieren. Dann können Sie einstellen ZIndex mit:

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

Andere Tipps

Nur die Canvas Panel unterstützt eine ZIndex Eigenschaft. Stackpanel nicht, da jeder Artikel einer nach dem anderen in der Platte platziert ist, so dass sie sich nicht überlappen sollten. Dies kann ein wenig ärgerlich manchmal sein, wenn Sie animierten Transformationen haben die Elemente zu bewegen, da die vorherige Annahme ist nicht wirklich wahr.

Im Allgemeinen jedoch, wenn Sie Elemente in einem visuellen Stapel platzieren müssen die Stackpanel für sie nicht der richtige Ort ist. Vielleicht ein Canvas oder Sie können eine Grid verwenden, wo die oridinal Position eines Elements in einer Zelle ihre „ZOrder“ bestimmt.

Von XAML:

<StackPanel Canvas.ZIndex="1">
</StackPanel>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top