我有一個C#窗口,只是發現在Windows 7下的任務欄上右鍵單擊關閉事件沒有被解僱。WPF關閉事件沒有在Windows 7中被觸發?
但是在我的開發Windows 10的PC,這個動作是妥善處理。 我的XAML文件看上去象下面這樣:
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WCSevenX"
x:Class="WCSevenX.MainWindow"
DataContext="{Binding RelativeSource={RelativeSource Self}}"
Loaded="Window_Loaded"
Closing="OnClosing"
Background="#B0CBCBE5"
Name="MainWnd"
Unloaded="MainWnd_Unloaded"
SizeChanged="MainWnd_SizeChanged"
PreviewGotKeyboardFocus="MainWnd_PreviewGotKeyboardFocus"
PreviewLostKeyboardFocus="MainWnd_PreviewLostKeyboardFocus"
GotFocus="MainWnd_GotFocus"
GotKeyboardFocus="MainWnd_GotKeyboardFocus">
<!--body...-->
</Window>
而且OnClosing功能是:
private void OnClosing(object sender, CancelEventArgs e)
{
//do something before close
//...
//close my window
System.Windows.Application.Current.Shutdown();
System.Diagnostics.Process.GetCurrentProcess().Kill();
}
功能OnClosing
在Windows 10下叫,但不是在Windows 7在Windows 7中,右鍵單擊並關閉無法關閉我的窗戶。
UPDATE:
今天我也試過在醒目的的WndProc消息WM_CLOSE
()。
在Windows 10中,[X]按鈕和右擊任務欄上的關閉都會收到WM_CLOSE
消息。 在Windows 7中,只有[X]按鈕收到WM_CLOSE
消息。
我在哪裏做錯了嗎?
我在代碼中添加了關閉事件,但仍未在任務欄右鍵單擊的Windows 7中觸發。 – Dia
嘗試使用Closed事件來查看它是否被觸發或是相同的情況 –
封閉事件的行爲相同。 – Dia