Для моего приложения Silverlight 4 я использую древовидную структуру с пользовательскими элементами. Особенность этих элементов заключается в том, что они могут отображать панель стека, которая расположена на ниже самого элемента. (Я использую отрицательное поле для перемещения панели стека в нужное положение.) Проблема в том, что панель стека (или сам элемент дерева) должна быть визуально размещена «над» другими элементами дерева.
Панель стека отображается только при нажатии кнопки (переключателя) в элементе дерева, поэтому я использовал событие 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);
Это работает только, когда древовидное представление, что стековая панель должна отображаться выше, находится на нижнем уровне иерархии. Когда древовидный элемент находится на том же уровне, он не помещается выше.
Кто-нибудь знает, как отобразить элемент дерева выше (в отношении ZIndex), другой элемент дерева на том же уровне?
Заранее спасибо,
Frank