Pergunta

Eu tenho alguns controles adicionados em um StackPanel programaticamente. O que eu quero fazer é que eu quero um dos controles neste StackPanel para ser colocado sobre um outro controle. Especificamente, eu quero botão para colocar sobre uma imagem neste painel pilha. Eu não poderia encontrar zindex propriedade em c # code-behind. Embora pareça problema muito simples, mas eu sou incapaz de encontrar qualquer pista para resolver este problema. Alguém por favor ...... ??

Foi útil?

Solução

Tente colocar todos os seus controles na lona. Em seguida, você pode definir Zindex com:

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

Outras dicas

Apenas o painel de Canvas suporta uma propriedade ZIndex. StackPanel não faz porque cada item é colocado um após o outro no painel, de modo que eles devem não se sobrepõem uns aos outros. Isso pode ser um pouco irritante às vezes, quando você tem transformadas animados em movimento os itens sobre porque o pressuposto anterior não é realmente verdade.

No entanto geral, se você precisa colocar itens em uma pilha visual StackPanel não é o lugar certo para ele. Talvez um Canvas ou você poderia usar um Grid onde a posição oridinal de um elemento determina o seu "ZOrder" em uma célula.

A partir XAML:

<StackPanel Canvas.ZIndex="1">
</StackPanel>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top