Устранение рисков. Макет WPF

Макет элементов управления WPF может немного изменяться.

Воздействие

В результате этого изменения:

  • ширина или высота элементов может увеличиться или уменьшиться максимум на один пиксель;

  • расположение объекта может измениться максимум на один пиксель;

  • выровненные по центру элементы могут сместиться по вертикали или горизонтали максимум на один пиксель.

По умолчанию этот новый макет включен только для приложений, предназначенных для платформа .NET Framework 4.6.

Исправление

Поскольку это изменение, как правило, приводит к устранению обрезки правых или нижних элементов управления WPF при высоком разрешении, для приложений, предназначенных для более ранних версий .NET Framework, но выполняющихся в .NET Framework 4.6, можно выбрать это новое поведение, добавив следующую строку в раздел <runtime> файла app.config.

<AppContextSwitchOverrides value="Switch.MS.Internal.DoNotApplyLayoutRoundingToMarginsAndBorderThickness=false" />  

Для приложений, предназначенных для .NET Framework 4.6, в которых требуется задать отрисовку элементов управления WPF с помощью прежнего алгоритма макета, можно добавить следующую строку в раздел <runtime> файла app.config:

<AppContextSwitchOverrides value="Switch.MS.Internal.DoNotApplyLayoutRoundingToMarginsAndBorderThickness=true" />  

См. также