我正在尝试使用鼠标滚轮实现画布的缩放功能。 目前我只是使用CenterX =“0.5”和CenterY =“0.5”缩放到画布的中心位置。 我想改变行为,以便在鼠标位置发生缩放,我想知道这是否可以使用ScaleTransform。将画布缩放到鼠标位置
目前我使用下面的代码:
<Canvas Width="500" Height="500">
<Canvas.LayoutTransform>
<ScaleTransform CenterX="0.5" CenterY="0.5"
ScaleX="{Binding Zoom}"
ScaleY="{Binding Zoom}" />
</Canvas.LayoutTransform>
</Canvas>
[这里](http://stackoverflow.com/questions/10372560/zooming-to-mouse-point-with-scrollview-and-viewbox-in-wpf)是一个例子, 他已经用ScrollViewer内的视图框。 然后他抓住了鼠标的初始位置并实现了缩放 希望这会有所帮助.... –
有很多方法可以做到这一点,但不能使用LayoutTransform。因为LayoutTransform忽略任何翻译,转换的Canvas将永远不会被适当地移动。 RenderTransform也可以吗? – Clemens
你能否给我举一个例子,我可以用RenderTransform做到这一点? – Eggi