2017-04-21 12 views
2

내 UWP 앱에서 최소 크기를 설정하여 창을 그 크기보다 작게 만들 수 없습니다.UWP의 최소 창 크기

내가 검색 한 모든 곳에서 ApplicationView.PreferredLaunchViewSize을 사용하는 것이 길로가는 것 같지만 어떤 이유로 이것이 내 앱에서 작동하지 않는 것 같습니다.

나는 빈 UWP 응용 프로그램을 생성하고 아래의 OnLaunched 방법 업데이트 :

protected override void OnLaunched(LaunchActivatedEventArgs e) 
    { 
     ApplicationView.PreferredLaunchViewSize = new Size(1200, 900); 
     ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.PreferredLaunchViewSize; 
     ApplicationView.GetForCurrentView().SetPreferredMinSize(new Size(800, 600)); 

     ... 
    } 

내 응용 프로그램은 1200 X 900의 정확한 크기로 시작하지만 800 × 600의 제한보다 창 작게 축소 할 수 있습니다 나는 앱을 위해 설정했다.

특정 크기보다 작아지지 않도록 창 크기를 제한하는 올바른 방법은 무엇입니까?

답변

3

SetPreferredMinSize 올바른 API이지만, 두 가지 중요한주의 사항이 있습니다 :

  • 첫째, CoreWindow에 대한 API를 DIPS (장치 독립적 픽셀 공간)에서 작동 기억이 아니라 '진정한 픽셀'. 320 x 200 픽셀의 최소값을 설정하려면 현재 DPI 값으로 값의 크기를 조정해야합니다.

  • 둘째, UWP에서 프레젠테이션 창 크기를 실제로 제어하지는 않지만 기본 설정 만 표시 할 수 있습니다. 800 x 600을 사용할 수없는 이유는 '최대 최소 크기'가 효과적으로 500 x 500 픽셀이라는 것입니다. MSDN을 참조하십시오. 내 Direct3D VS Game templates에서

나는 최소 크기로 X 200 (320)을 사용

auto minSize = Size(ConvertPixelsToDips(320), ConvertPixelsToDips(200)); 
view->SetPreferredMinSize(minSize); 
+0

자네 말이 맞아. 나는 최대 최소 크기가 500x500이라는 말을 분명히하는 비고 섹션에주의를 기울이지 않았다. –