ОК, я выяснил, как увеличить масштаб элементов Grid of UI, используя LayoutTransform и ScaleTransform. Чего я не понимаю, так это как заставить мой View реагировать на CTRL + MouseWheelUp \ Down, чтобы сделать это, и как вписать код в шаблон MVVM.
Моей первой идеей было сохранить ZoomFactor как свойство и связать его с командой для его настройки.
Я смотрел на что-то вроде:
<UserControl.InputBindings>
<MouseBinding Command="{Binding ZoomGrid}" Gesture="Control+WheelClick"/>
</UserControl.InputBindings>
но я вижу 2 вопроса:
1) Я не думаю, что есть способ определить, было ли колесо перемещено вверх или вниз, и я не вижу, как определить, насколько. Я видел MouseWheelEventArgs.Delta, но не знаю, как его получить.
2) Привязка к команде на модели представления кажется неправильной, поскольку это строго элемент View.
Так как масштабирование строго UI View, я думаю, что реальный код должен идти в коде позади.
Как вы, ребята, это реализовали?
p.s., Я использую .net \ wpf 4.0, используя Cinch для MVVM.