回答:
これをウィンドウコンストラクタに入れてください
WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;
.NET Frameworkサポート対象:4、3.5、3.0
.NET Frameworkクライアントプロファイルサポート対象:4、3.5 SP1
Manual
です。参考:msdn.microsoft.com/en-us/library/...
xaml
WindowStartupLocation="CenterScreen"
WPFアプリからScreenクラスを引き続き使用できます。アプリケーションからSystem.Windows.Formsアセンブリを参照するだけです。それが済んだら(そして、以下の例ではSystem.Drawingを参照しました):
Rectangle workingArea = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea;
...うまくいきます。
メインウィンドウプロパティWindowStartupLocationをCenterScreenに設定することを検討しましたか?
PresentationFrameworkのSystemParametersクラスはどうですか?ワークエリアがありますあなたが探しているもののようですプロパティを。
しかし、なぜWindow.WindowStartupLocationが機能しないのですか?CenterScreenは列挙値の1つです。センタリングを微調整する必要がありますか?
同等のWPFはありません。System.Windows.Forms.Screen
は依然として.NETフレームワークの一部であり、WPFからも使用できます。
詳細についてはこの質問を参照してください。ただし、WindowInteropHelper
クラスを使用してWPFコントロールをラップすることにより、画面に関連する呼び出しを使用できます。
私はそれをWPFコードに入れることを好みます。
で[WindowName].xaml
ファイル:
<Window x:Class=...
...
WindowStartupLocation ="CenterScreen">
WindowStartupLocation.CenterOwner
、いくつかの子ウィンドウでも気に入っています