FormattedText и pixPerDip, если приложение масштабируется независимо от DPI - PullRequest
0 голосов
/ 11 октября 2019

У меня есть приложение WPF, которое не заботится о DPI устройства, но вместо этого автоматически масштабируется для заполнения экрана (но сохраняет соотношение сторон).

Я масштабирую его, изменяя ScaleX и ScaleYсвойства преобразования самого внешнего контейнера WPF.

В этом случае мне все еще нужно получить DPI монитора или я могу просто использовать «1.0» в качестве «pixPerDip» в вызове функции FormattedText?

Причина, по которой я спрашиваю, состоит в том, что я пытаюсь удалить все предупреждения из своего кода и получаю предупреждение о том, что переопределение без "пикселя_папки" устарело.

1 Ответ

0 голосов
/ 11 октября 2019

Я столкнулся с этой же проблемой. Вы можете получить DpiScale следующим образом:

var dpiInfo = VisualTreeHelper.GetDpi(visual);

В этом случае вы можете передать свой корневой элемент как визуальный.

Теперь вы можете позвонить FormattedText и т. Д., И введите dpiInfo.PixelsPerDip.

Надеюсь, это поможет.

...