缩放和平移图像画布

bli*_*egz 6 c# silverlight xaml

我有一个银色灯光Canvas,上面有图纸(多边形).我需要开发一个控件来缩放和平移工作区(BorderGrid单元格内,如现在)中的画布,如下所示.做这个的最好方式是什么.有没有我可以使用的库?

我需要能够将绘图添加到缩放/平移的画布中.

http://i54.tinypic.com/1zbe7pf.png

Mat*_*ges 1

您可以尝试创建一个基本上是画布内图像的 UserControl,并公开两个变换属性来控制缩放和平移。ScaleTransform 将处理缩放,TranslateTransform 将处理平移。您可以从它们两者创建一个 CompositeTransform 并将其指定为画布的 RenderTransform。

您可以将缩放滑块绑定到 ScaleTransform,并处理鼠标事件来更改 TranslateTransform。只要您获得相对于画布本身的鼠标坐标就可以工作(即mouseEventArgs.GetPosition(canvas))。