【发布时间】:2010-11-10 23:44:38
【问题描述】:
我有 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>
Thumb 的模板只是一个用户控件。由于弹出窗口已经打开,当我需要将它们显示给用户时,我会对包含的拇指进行动画处理。
问题是,当用户单击拇指拖动它时,我真的希望能够将它带到前面,所以它是最顶层的控件 - 就像常规弹出窗口一样。
我已经实现了 leftMouseDown 事件(在 Thumb 的用户控件模板中),并尝试了以下两种方法(第二个,看看是否有任何工作)
Canvas.SetZIndex(this, 9999);
Canvas.SetZIndex(VisualTreeHelper.GetOpenPopups().ElementAt(1), 9999);
(我还尝试将 Z-Index 设置为 0 - 尝试将弹出窗口推到底部,再次查看是否有任何效果)至少没有任何效果。
我也尝试过这里的内容,但也无济于事,尽管我怀疑这不适用于我,因为我没有 ContentPResenter
【问题讨论】:
标签: silverlight