WPF でのアクティブ スクリーンのサイズの決定
WPF アプリケーションでアクティブ スクリーンのサイズを取得するには、WinForms とは少し異なるアプローチが必要です。この質問は、現在のモニターで使用可能なワークスペースを判断するために、System.Windows.SystemParameters.WorkArea に相当する WPF の必要性について説明します。
解決策:
依存する代わりに組み込み関数では、応答で提案されているように、Screen.FromControl メソッドを利用できます。このメソッドは、Control オブジェクトを引数として受け取り、そのコントロールを含むモニターを表す Screen オブジェクトを返します。これを WPF で適用するには、回答で提供されているような拡張メソッドを作成できます。
拡張メソッド:
static class ExtensionsForWPF { public static System.Windows.Forms.Screen GetScreen(this Window window) { return System.Windows.Forms.Screen.FromHandle(new WindowInteropHelper(window).Handle); } }
この拡張メソッドを呼び出すことで、 WPF Window オブジェクトの場合、対応する System.Windows.Forms.Screen オブジェクトを取得できます。これにより、Bounds プロパティにアクセスし、アクティブなウィンドウの寸法を取得できます。
使用法:
Window myWindow = ...; System.Windows.Forms.Screen activeScreen = myWindow.GetScreen(); Rectangle activeScreenBounds = activeScreen.Bounds;
このアプローチは、WPF ウィンドウをホストしているモニター上で利用可能なワークスペースを決定するためのクロスプラットフォーム ソリューションを提供します。
以上がWPF アプリケーションでアクティブ スクリーンのサイズを決定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。