2013-08-26 11 views
7

Mam aplikację wpf, która została zaprojektowana dla rozdzielczości 1900x1200, ale niektórzy z naszych użytkowników wykorzystali ustawienia wyświetlania okien, aby zmienić rozmiar wszystkiego o 125% -150%, czy istnieje sposób na uzyskanie aplikacja ignoruje te ustawienia i nadal wyświetla się normalnie?Czy aplikacja WPF ignoruje ustawienia DPI

Widziałem coś o nazwie SetProcessDPIAware here, ale nie miałem z tym szczęścia.

Oto zrzut ekranu z aplikacji z skalowanie wyświetlacza pojawił się na 150% Application with Scaling

Jak widać aplikacja jest zbyt mały i nie ma sposobu, aby zmusić go do być prawidłowo wielkości.

+0

Możesz całkowicie wyłączyć skalowanie dpi w WPF, wykonując polecenie [disable-dpi-awareness-for-wpf-application] (https://stackoverflow.com/questions/13858665/disable-dpi-awareness- for-wpf-application/44171474 # 44171474) –

+0

Możesz wyłączyć skalowanie dpi dla WPF w .net 4.5 po [disable-dpi-awareness-for-wpf-application] (https://stackoverflow.com/questions/13858665/disable -dpi-awareness-for-wpf-application/44171474 # 44171474) –

Odpowiedz

1

Świadomość Dpi nie pomoże w tym przypadku. Zmieni ona tylko macierz CompositionTarget.TransformToDevice, ale rozmiary kontrolek nie ulegną zmianie.

Używam okna widoku, aby skalować całą zawartość. Wszystkie rozmiary w mojej aplikacji są przeznaczone dla Surface Pro 3 portret:

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

Można obliczyć rozmiar skrzynki na podstawie DPI ekranu. Zobacz tę odpowiedź: https://stackoverflow.com/a/12414433/991267

Powiązane problemy