在其兄弟节点上方显示TreeViewItem

时间:2012-01-09 18:12:36

标签: silverlight treeview treeviewitem

对于我的Silverlight 4应用程序,我使用带有用户定义项目的树视图。这些项目的一个特点是,它们可以显示一个堆栈面板,该面板位于项目本身下方。 (我使用负边距将stackpanel移动到所需位置。)问题是,stackpanel(或treeviewitem本身)必须在视觉上放置在其他treeviewitems“上方”。

只有在按下treeviewitem中的(切换)按钮时才显示stackpanel,因此我使用check / uncheck事件来更改包含标题的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在同一级别时,它不会放在上面。

有谁知道如何在同一级别上显示上面的树视图(关于ZIndex)另一个treeviewitem?

提前致谢,
弗兰克

1 个答案:

答案 0 :(得分:0)

答案已经存在于“......如何在上面显示树视图......”的问题!找到treeviewitem并设置ZValue:

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