2009-11-26 14 views
5

Yığınlık modülünde programlı olarak eklenen bazı denetimler var. Yapmak istediğim, bu yığın panosundaki kontrollerden birinin başka bir kontrole yerleştirilmesini istiyorum. Özellikle, bu yığın panelindeki bir resmin üzerine düğme yerleştirmek istiyorum. Ben zindex özelliği C# codebehind içinde bulamadık. Bu çok basit bir problem gibi görünse de, bu problemi çözmek için herhangi bir ipucu bulamıyorum. Herkes lütfen ......Bir silverlight kontrolünün zindex'i programatik olarak nasıl değiştirebiliriz?

cevap

7

Tüm denetimlerinizi Tuval üzerine yerleştirmeyi deneyin. Sonra birlikte zIndex ayarlayabilirsiniz:

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

Sadece Canvas paneli ZIndex özelliğini destekler. Stackpanel, her bir öğe panelde birbiri ardına yerleştirildiğinden, birbiriyle çakışmadıklarından dolayı değildir. Bu, önceki varsayımın gerçekte doğru olmadığı için öğeleri değiştiren animasyon dönüşümlerinizin olduğu zamanlarda biraz can sıkıcı olabilir.

Genel olarak öğeleri bir görsel yığına koymanız gerekiyorsa, Stackpanel bunun için doğru yer değildir. Belki bir Canvas veya bir elemanın oridinal pozisyonunun bir hücredeki "zorlayıcısını" belirlediği bir Grid kullanabilirsiniz. xaml itibaren

+4

Hatta bir Grid unsurlarla, sen .SetValue (Canvas.ZIndexProperty, MyValue) kullanabilir; ve çalışma zamanında çalışacak. – Jeb

2

:

<StackPanel Canvas.ZIndex="1"> 
</StackPanel> 
İlgili konular