¿Cómo podemos cambiar el índice z de un control de Silverlight mediante programación?

StackOverflow https://stackoverflow.com/questions/1802108

  •  05-07-2019
  •  | 
  •  

Pregunta

Tengo algunos controles agregados en un panel de apilamiento programáticamente. Lo que quiero hacer es que quiero que uno de los controles en este panel de la pila se coloque sobre otro control. Específicamente, quiero colocar el botón sobre una imagen en este panel de pila. No pude encontrar la propiedad zindex en c # codebehind. Aunque parece un problema muy simple pero no puedo encontrar ninguna pista para resolver este problema. Alguien por favor ...... ??

¿Fue útil?

Solución

Intenta colocar todos tus controles en Canvas. Luego puedes configurar Zindex con:

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

Otros consejos

Solo el panel Canvas admite una propiedad de ZIndex . Stackpanel no lo hace porque cada elemento se coloca uno tras otro en el panel para que no se superpongan entre sí. Esto puede ser un poco molesto en los momentos en que se han animado transformaciones para mover los elementos porque la suposición anterior no es realmente cierta.

En general, aunque si necesita colocar elementos en una pila visual, Stackpanel no es el lugar adecuado para ello. Quizás un Canvas o usted podría usar un Grid donde la posición original de un elemento determina su " zorder " en una celda.

Desde xaml:

<StackPanel Canvas.ZIndex="1">
</StackPanel>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top