我有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事件(在thumb的usercontrol模板中),并尝试了以下两种方法(第二种方法查看是否有任何效果)
Canvas.SetZIndex(this, 9999);
Canvas.SetZIndex(VisualTreeHelper.GetOpenPopups().ElementAt(1), 9999);
(我还尝试将z-index设置为0-尝试将弹出窗口推到底部,再一次,看看是否有任何效果)没有任何效果。
我也尝试过这里的内容,但也没用,尽管我怀疑这不适用于我,因为我没有内容演示者
Bring element forward (Z Index) in Silverlight/WPF