質問

WPF アプリを起動時にプライマリ画面の中央に配置したいと考えています。myWindow.Left と myWindow.Top を設定する必要があることはわかっていますが、値はどこで取得すればよいでしょうか?

見つけました System.Windows.Forms.Screen.PrimaryScreen, 、これは明らかに WPF ではありません。画面解像度などを提供する WPF の代替手段はありますか?

役に立ちましたか?

解決

あなたのウィンドウコンストラクタでこれを入れて

WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;
  

.NET FrameworkSupported中:4、3.5、   3.0

     

.NET FrameworkのクライアントProfileSupported   中:4、3.5 SP1

他のヒント

xaml

WindowStartupLocation="CenterScreen"

あなたはまだWPFアプリからScreenクラスを使用することができます。あなたは自分のアプリケーションからのSystem.Windows.Formsアセンブリを参照する必要があります。

:あなたは(以下例えばSystem.Drawing参照)、ということをやったら
Rectangle workingArea = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea;

...だけで正常に動作します。

あなたは、画面の中央にメインウィンドウのプロパティWindowStartupLocationを設定すると考えていますか?

PresentationFrameworkでSystemParametersクラスについては何?それはあるように思わ WorkAreaのの性質を持っています何を探しています。

しかし、なぜWindow.WindowStartupLocation作業を設定していないのだろうか?画面の中央には、列挙型の値のいずれかです。あなたがセンタリングを微調整する必要がありますか?

あなたは、アプリケーションからSystem.Windows.Formsアセンブリを参照する必要はありません。代わりに、あなたはSystem.Windows.SystemParameters.WorkAreaを使用することができます。これはSystem.Windows.Forms.Screen.PrimaryScreen.WorkingAreaと同等です!

WPF に相当するものはありません。 System.Windows.Forms.Screen ただし、.NET Framework の一部であるため、WPF からも使用できます。

見る この質問 詳細については、を参照してください。ただし、画面に関連する呼び出しを使用するには、 WindowInteropHelper WPF コントロールをラップするクラス。

var window = new MyWindow();

スクリーン使用の中心のための

window.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;

親ウィンドウの使用のための中央ます:

window.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner;
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top