Подпишись на наш Twitter

Быть в курсе появления новых статей!

Потому что WPF позиционирует GUI элементы, используя машинно-независимые единицы, маленькие GUI элементы могут выглядеть нечеткими при отображении за счет сглаживания (антиалиасинга).

Обратите внимание не согласованный (не одинаковый) внешний вид вертикальных линий в примере ниже. Каждая линия должна быть одинакового размера, так как мы определили ее в 1 WPF unit шириной (1 пиксель на 96 dpi).

Вы можете избежать нечеткости, при сглаживании установив свойство SnapsToDevicePixels у UIElement в true. Установка этого свойства в true указывает системе отображения выравнивать элементы линий по пиксельной границе, что предотвращает сглаживание. Это известно как пиксельная привязка.

Уставновка SnapsToDevicePixels в true на родительском ListBox из предыдущего примера приводит вертикальные линиии к постоянному размеру (1 пиксель на 96 dpi).

Оригинал: #392 – Use SnapsToDevicePixels Property to Prevent Anti-Aliasing




Дата публикации: 22.09.2011 18:49

Ярлыки: DPI, Layout, WPF