WindowStateがWindow.StateChangedで変更されたときにウィンドウの高さと幅を取得するメソッドがありますが、MS Windowsドッキングを使用してウィンドウをドッキングすると、アプリケーションは変更を検出し、イベントハンドラーを実行してからドッキングしますウィンドウの高さ/幅が間違っています。
private void Window_Loaded(object sender, RoutedEventArgs e) {
Window.StateChanged += new EventHandler(Window_StateChanged);
}
void Window_StateChanged(object sender, EventArgs e) {
EnvironmentalVariables.Instance.WindowHeight = Application.Current.MainWindow.Height - EnvironmentalVariables.MENUBARHEIGHT;
EnvironmentalVariables.Instance.WindowWidth = Application.Current.MainWindow.Width - EnvironmentalVariables.TREEWIDTH - 55;
}
手動状態変更
- ウィンドウ状態の変更
- Window_StateChanged() が呼び出されました
Windows UI ドッキングの使用
- Window_StateChanged() が呼び出されました
- ウィンドウ状態の変更
ドッキングが発生した後にイベント ハンドラーが実行されるようにするにはどうすればよいですか?
明確にするために、参照されている Windows ドッキングを使用していません。Windows 7 のオペレーティング システム ドッキングを使用しており、画面の端にドラッグするとドッキングします。