1
我的wpf應用程序中有一個模式彈出窗口。顯示該窗口後,在一些(罕見的)情況下,窗口從UI中消失。但是我們可以發現使用「alt + tab」並且不能使其活躍。WPF彈出窗口意外從UI中消失
請找我使用的代碼下面,
//WindowInteropHelper assists interoperation between Windows Presentation Foundation (WPF) and Win32 code.
private void OnControlClick(object sender, RoutedEventArgs e)
{
System.Drawing.Point p = System.Windows.Forms.Control.MousePosition;
MyPopup popup = new MyPopup();
_windowInteropHelper = new System.Windows.Interop.WindowInteropHelper(popup);
_windowInteropHelper.Owner = this._owner;
popup.WindowStartupLocation = System.Windows.WindowStartupLocation.Manual;
popup.Left = p.X;
popup.Top = p.Y;
popup.Closing += new System.ComponentModel.CancelEventHandler(OnPopupClosing);
popup.ShowDialog();
}
我們可能需要更多的代碼才能瞭解正在發生的事情。 「_owner」如何獲得它的價值?如何定義MyPopup?是否可以使用WPF'Popup'控件? – Tinsa 2013-03-07 07:14:34
MyPopup派生自Window類,WindowInteropHelper類具有一個IntPtr類型的「Owner」屬性,該屬性獲取或設置WPF所有者窗口的句柄。我需要一個模式窗口作爲彈出窗口。 – 2013-03-07 09:26:07