3
我有4彈出,這樣定義:的Silverlight - 把彈出到前
<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事件(在大拇指的用戶控件模板),並嘗試以下兩個(第二個看看是否有什麼會工作)
Canvas.SetZIndex(this, 9999);
Canvas.SetZIndex(VisualTreeHelper.GetOpenPopups().ElementAt(1), 9999);
(我也嘗試設置將Z-Index設置爲0 - 嘗試將彈出窗口推向底部,再次查看是否有任何內容會起作用)沒有任何結果。
我也試了一下在這裏,也沒有用,但我懷疑這並不適用於我,因爲我沒有ContentPResenter
Bring element forward (Z Index) in Silverlight/WPF