WPF. Масштабирование размеров - Margin, Padding, Width, Height

Я ищу способ качественного глобального масштабирования в WPF, как это прописано, например, в MaterialDesign. Идея следующая - за основу берется глобальная сетка с регулируемым шагом. Этот шаг задается, например, в конфигах. Все размеры элементов привязываются к шагу сетки. Существует ли способ масштабировать таким способом все элементы?

Изначально, я думал о ScaleTransform, но мне кажется это довольно кривым решением (был такой вопрос ). В первую очередь - много лишней разметки. Сейчас я думаю - не проще ли будет сделать "свой" биндинг (по аналогии с CalcBinding, но заточенной под пересчет размеров с помощью глобального масштаба условной сетки). При этом конечный результат должен в идеале быть похож на это:

<Button Margin="{s:ScaleBinding Source="2"}"
        Padding= "{s:ScaleBinding Source="1 2 1 4"}"/>

Ответы (0 шт):