protected override void OnClosing(CancelEventArgs e) { base.OnClosing(e); mainWindowModel.SaveHistory(); WindowPlacementManager.Save(Handle); }
protected override void OnSourceInitialized(EventArgs e) { base.OnSourceInitialized(e); // http://grabacr.net/archives/1585 // によると、ウィンドウハンドルが取れるようになるタイミングは SourceInitialized とのこと。 // https://docs.microsoft.com/ja-jp/dotnet/framework/wpf/app-development/wpf-windows-overview // の「ウィンドウの有効期間イベント」を見ると、SourceInitialized が最も早いタイミングと分かる。 Handle = new WindowInteropHelper(this).Handle; OnHandleInitialized(EventArgs.Empty); WindowPlacementManager.Restore(Handle); }