プライマリ画面の起動時に WPF アプリを中央に配置したいと考えています。myWindow.Left と myWindow.Top を設定する必要があることはわかっていますが、値はどこで取得できますか?
System.Windows.Forms.Screen.PrimaryScreen
どうやらWPFではないことがわかりました。画面解像度などを提供するWPFの代替手段はありますか?
プライマリ画面の起動時に WPF アプリを中央に配置したいと考えています。myWindow.Left と myWindow.Top を設定する必要があることはわかっていますが、値はどこで取得できますか?
System.Windows.Forms.Screen.PrimaryScreen
どうやらWPFではないことがわかりました。画面解像度などを提供するWPFの代替手段はありますか?
xaml
<Window ... WindowStartupLocation="CenterScreen">...
これをウィンドウコンストラクターに入れます
WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;
.NETフレームワークサポート対象:4、3.5、3.0
.NET Frameworkクライアントプロファイルサポート対象:4、3.5 SP1
WPF アプリから引き続き Screen クラスを使用できます。アプリケーションから System.Windows.Forms アセンブリを参照するだけです。それが完了したら (以下の例では System.Drawing を参照):
Rectangle workingArea = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea;
...うまくいきます。
メイン ウィンドウ プロパティ WindowStartupLocation を CenterScreen に設定することを検討しましたか?
PresentationFrameworkのSystemParametersクラスはどうですか?それはあなたが探しているもののように見えるWorkAreaプロパティを持っています。
しかし、なぜWindow.WindowStartupLocationの設定が機能しないのでしょうか。CenterScreenは列挙値の1つです。センタリングを微調整する必要がありますか?
System.Windows.Forms
アプリケーションからアセンブリを参照する必要はありません。代わりに、 を使用できますSystem.Windows.SystemParameters.WorkArea
。これはSystem.Windows.Forms.Screen.PrimaryScreen.WorkingArea
!
WPF に相当するものはありません。System.Windows.Forms.Screen
はまだ .NET フレームワークの一部であり、WPF から使用できます。
詳細については、この質問WindowInteropHelper
を参照してください。ただし、クラスを使用して WPF コントロールをラップすることにより、画面に関連する呼び出しを使用できます。