2009-11-26 22 views
5

我有一些控件以編程方式添加到堆棧面板中。我想要做的是我希望這個堆疊面板中的控件之一放置在另一個控件上。具體來說,我想把按鈕放在這個堆棧面板的圖像上。我無法在c#codebehind中找到zindex屬性。雖然看起來很簡單,但我無法找到解決此問題的任何線索。任何人請...... ......?我們如何才能以編程方式更改silverlight控件的zindex?

回答

7

嘗試將所有控件放置在畫布上。然後,你可以設置Z-索引:

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

只有Canvas面板支持ZIndex屬性。 Stackpanel不會因爲每個項目在面板中一個接一個地放置,所以它們不應該相互重疊。當您有動畫變換移動項目時,這可能會有點煩人,因爲之前的假設實際上並非如此。

一般來說,如果您需要將物品置於可視堆棧中,Stackpanel並不適合它。也許是Canvas,或者你可以使用Grid,其中元素的oridinal位置決定了它在單元格中的「zorder」。

+4

即使某個格子元素,你可以使用.SetValue(Canvas.ZIndexProperty,myvalue的);它會在運行時工作。 – Jeb 2010-12-27 20:14:35

2

在XAML:

<StackPanel Canvas.ZIndex="1"> 
</StackPanel> 
相關問題