2012-01-09 43 views
0

對於我的Silverlight 4應用程序,我使用帶有用戶定義項目的樹視圖。這些項目的一個特點是,他們可以顯示一個堆疊面板,該面板放置在以下,該項目本身就是。 (我使用負餘量來將堆棧面板移動到所需的位置。)問題在於,堆棧面板(或者treeviewitem本身)必須在視覺上放置在其他treeview項目的「上方」。在其兄弟上方顯示TreeView項目

當(切換)按鈕,在樹型視圖被按下的StackPanel只示出,所以就用的選中/清除事件來改變包含報頭的Z-值:

// up the Z-Axis of the containing header (a button) 
Button header = VisualTreeEnumeration.FindUpVisualTree<Button>(sender as MultiImageToggleButton); 
header.SetValue(Canvas.ZIndexProperty, 1); 

這僅適用,當treeviewitem時,堆疊面板應該在上面顯示的是在較低的層級中。當treeviewitem處於同一級別時,它不會放在上面。

有誰知道如何顯示上面的treeviewitem(關於ZIndex)在同一級別的其他treeviewitem?

由於提前,
弗蘭克

回答

0

答案已經蘊含在這個問題:「......如何顯示上方的樹型視圖...」!找到該treeviewitem並設置ZValue:

TreeViewItem tvi = VisualTreeEnumeration.FindUpVisualTree<TreeViewItem>(sender as MultiImageToggleButton); 
tvi.SetValue(Canvas.ZIndexProperty, 1);