好的,我已经弄清楚如何使用LayoutTransform和ScaleTransform让我的UI元素网格进行缩放.我不明白的是我如何让我的View响应CTRL + MouseWheelUp\Down来做到这一点,以及如何使代码适应MVVM模式.
我的第一个想法是将ZoomFactor存储为属性,并绑定到命令来调整它.
我看的是:
<UserControl.InputBindings>
<MouseBinding Command="{Binding ZoomGrid}" Gesture="Control+WheelClick"/>
</UserControl.InputBindings>
Run Code Online (Sandbox Code Playgroud)
但我看到2个问题:
1)我认为没有办法判断车轮是上升还是下降,我也不知道如何确定车轮的数量.我见过MouseWheelEventArgs.Delta,但不知道怎么弄它.
2)绑定到viewmodel上的命令似乎不对,因为它严格来说是View事物.
由于缩放只是严格的UI视图,我认为实际的代码应该放在代码隐藏中.
你们怎么实现这个?
ps,我使用Cinch for MVVM使用.net\wpf 4.0.
什么时候应该使用库或框架与您自己的实现.例如.MVVM,我应该使用Cinch/MVVM Framework还是滚动我自己的代码?