【发布时间】:2010-02-16 07:53:32
【问题描述】:
好的,我已经知道如何使用 LayoutTransform 和 ScaleTransform 来缩放 UI 元素网格。我不明白的是如何让我的视图响应 CTRL+MouseWheelUp\Down 来做到这一点,以及如何使代码适合 MVVM 模式。
我的第一个想法是将 ZoomFactor 存储为一个属性,并绑定到一个命令来调整它。
我在看类似的东西:
<UserControl.InputBindings>
<MouseBinding Command="{Binding ZoomGrid}" Gesture="Control+WheelClick"/>
</UserControl.InputBindings>
但我发现了 2 个问题:
1)我认为没有办法判断轮子是向上还是向下移动,我也看不出如何确定多少。我见过 MouseWheelEventArgs.Delta,但不知道如何获得它。
2) 绑定到视图模型上的命令似乎不正确,因为它严格来说是一个视图。
由于缩放严格来说只是 UI 视图,我认为实际代码应该放在代码隐藏中。
你们将如何实现这一点?
p.s.,我正在使用 .net\wpf 4.0,将 Cinch 用于 MVVM。
【问题讨论】:
-
在网上找到了这个,可能对您有帮助...social.technet.microsoft.com/wiki/contents/articles/…
标签: wpf data-binding mvvm mouse cinch