对于我的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?
提前致谢,
弗兰克
答案 0 :(得分:0)
答案已经存在于“......如何在上面显示树视图......”的问题!找到treeviewitem并设置ZValue:
TreeViewItem tvi = VisualTreeEnumeration.FindUpVisualTree<TreeViewItem>(sender as MultiImageToggleButton);
tvi.SetValue(Canvas.ZIndexProperty, 1);