У меня есть 4 всплывающих окна, определенных следующим образом:
<Popup x:Name="MyPopup1" IsOpen="True" Margin="0,10,0,0" Grid.Row="0" >
<Popup.Child>
<Thumb x:Name="thumb1" DragDelta="Thumb_DragDelta" Width="0" Height="0" Template="{StaticResource thumbDisplay}" />
</Popup.Child>
</Popup>
<Popup x:Name="MyPopup2" IsOpen="True" Margin="0,20,0,0" Grid.Row="0" >
<Popup.Child>
<Thumb x:Name="thumb2" DragDelta="Thumb_DragDelta" Width="0" Height="0" Template="{StaticResource thumbDisplay}" />
</Popup.Child>
</Popup>
Шаблон для большого пальца - это просто пользовательский элемент управления.Поскольку всплывающие окна уже открыты, я оживляю содержимое большого пальца, когда мне нужно показать его пользователю.
Проблема в том, что когда пользователь нажимает на большой палец, чтобы перетащить его, я быМне действительно нравится иметь возможность вывести его на передний план, так что это самый верхний элемент управления - так же, как работают обычные всплывающие окна.
Я реализовал событие leftMouseDown (в шаблоне usercontrol Thumb) и попробовал обаиз следующего (второй, чтобы увидеть, будет ли работать НИЧЕГО)
Canvas.SetZIndex(this, 9999);
Canvas.SetZIndex(VisualTreeHelper.GetOpenPopups().ElementAt(1), 9999);
(я также попытался установить Z-Index на 0 - чтобы попытаться выдвинуть всплывающее окно вниз, просто, снова, чтобыпосмотрим, сработает ли что-нибудь) Ничего не помогло.
Я также попробовал то, что здесь, также безрезультатно, хотя я подозреваю, что это не относится ко мне, так как у меня нет ContentPResenter
Перенос элемента вперед (индекс Z) в Silverlight / WPF