2013-08-26 2 views
7

У меня есть приложение wpf, предназначенное для разрешения 1900x1200, но некоторые из наших пользователей использовали настройки отображения окон, чтобы изменить размер всего на 125% -150%, есть ли способ иметь приложение игнорирует эти настройки и по-прежнему отображается нормально?Имейте приложение WPF игнорировать настройки DPI

Я видел что-то под названием SetProcessDPIAware here, но havent повезло с ним.

Вот снимок экрана приложения с масштабированием дисплея оказался до 150% Application with Scaling

Как вы можете видеть, приложение слишком мало, и нет никакого способа, чтобы получить его, чтобы быть правильно размером.

+0

Вы можете полностью отключить масштабирование dpi в WPF, выполнив [disable-dpi-aware-for-wpf-application] (https://stackoverflow.com/questions/13858665/disable-dpi-awareness- for-wpf-application/44171474 # 44171474) –

+0

Вы можете отключить масштабирование dpi для WPF в .net 4.5 после [disable-dpi-aware-for-wpf-application] (https://stackoverflow.com/questions/13858665/disable -dpi-информационно-для-МОФ-приложения/44171474 # 44171474) –

ответ

1

Знание Dpi в этом случае не поможет. Он изменит только матрицу CompositionTarget.TransformToDevice, но размеры элементов управления не изменятся.

Я использую окно просмотра для масштабирования всего содержимого. Все размеры в моем приложении предназначены для поверхностного Pro 3 портрета:

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

Вы можете рассчитать вид окна размер базирование на экране DPI. См. Этот ответ: https://stackoverflow.com/a/12414433/991267

Смежные вопросы