2013-08-26 1 views
7

저는 1900x1200 해상도로 설계된 wpf 응용 프로그램을 가지고 있지만 일부 사용자는 Windows 디스플레이 설정을 사용하여 모든 크기를 125 % -150 %로 조정했습니다. 응용 프로그램은 해당 설정을 무시하고 여전히 정상적으로 표시됩니까?WPF 응용 프로그램에서 DPI 설정을 무시하도록하십시오

나는 SetProcessDPIAware here이라고 불리는 것을 보았지만 havent는 그걸 가지고 행운이 있었다. 여기

는 응용 프로그램이 너무 작 볼 수 있고 제대로 크기로 얻을 수있는 방법이 없기 때문에 디스플레이 확장하여 응용 프로그램의 스크린 샷이 150 % Application with Scaling

까지 켜져있다.

+0

할 수 있습니다 ([해제-dpi로 인식를 위해 WPF 응용 프로그램을]에 따라 WPF에서 확장 완전히 비활성화 dpi의 https://stackoverflow.com/questions/13858665/disable-dpi-awareness- :이 답변을 참조하십시오 for-wpf-application/44171474 # 44171474) –

+0

[disable-dpi-awareness-for-wpf-application] (https://stackoverflow.com/questions/13858665/disable)에 따라 .net 4.5에서 WPF에 대한 dpi 스케일링을 비활성화 할 수 있습니다. -dpi-aware-for-wpf-application/44171474 # 44171474) –

답변

1

이 경우 Dpi 인식이 도움이되지 않습니다. CompositionTarget.TransformToDevice 행렬 만 변경되지만 컨트롤 크기는 변경되지 않습니다.

모든 콘텐츠의 크기를 조정하려면보기 상자를 사용합니다. 내 응용 프로그램의 모든 크기는 표면 프로 3 세로 위해 설계 :

<Window> 
    <Viewbox Stretch="Uniform"> 
     <Grid Width="1440" Height="2160"> 
      <!-- ... --> 
     </Grid> 
    </Viewbox> 
</Window> 

당신은 화면 DPI에보기 상자 크기 내놓고을 계산할 수 있습니다. https://stackoverflow.com/a/12414433/991267

관련 문제