문제

기본 화면에서 시작시 WPF 앱을 중앙으로 중앙에하고 싶습니다. MyWindow.left와 MyWindow.top을 설정해야한다는 것을 알고 있지만 값은 어디에서 얻을 수 있습니까?

나는 찾았다 System.Windows.Forms.Screen.PrimaryScreen, 분명히 WPF가 아닙니다. 화면 해상도를 제공하는 WPF 대안이 있습니까?

도움이 되었습니까?

해결책

이것을 창 생성자에 넣으십시오

WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;

.NET Frameworks Upported : 4, 3.5, 3.0

.NET Framework 클라이언트 프로파일 Upported in : 4, 3.5 SP1

다른 팁

XAML

WindowStartupLocation="CenterScreen"

WPF 앱에서 여전히 화면 클래스를 사용할 수 있습니다. 응용 프로그램에서 System.Windows.forms 어셈블리를 참조하면됩니다. 이 작업을 마치면 (아래 예제에 대한 참조 시스템을 참조) :

Rectangle workingArea = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea;

... 잘 작동합니다.

메인 창 속성을 CenterScreen으로 설정하는 것을 고려해 보셨습니까?

PresentationFramework의 SystemParameters 클래스는 어떻습니까? 그것은 있습니다 작업 공간 당신이 찾고있는 것 같습니다.

그러나 왜 창을 설정하지 않는가? 센터 스크린은 열거 값 중 하나입니다. 센터링을 조정해야합니까?

참조 할 필요가 없습니다 System.Windows.Forms 응용 프로그램에서 조립. 대신, 당신은 사용할 수 있습니다 System.Windows.SystemParameters.WorkArea. 이것은와 동일합니다 System.Windows.Forms.Screen.PrimaryScreen.WorkingArea!

WPF 동등한 것은 없습니다. System.Windows.Forms.Screen 그래도 .NET 프레임 워크의 일부이며 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