2011-11-16 43 views
4

我想实现的ScrollViewer内的画面内平移,如:平移画布的内容在一个ScrollViewer中

<ScrollViewer> 
    <Canvas> 

     <!-- some visual elements here --> 

    </Canvas> 
</ScrollViewer> 

我想要的画布内的点击和拖动操作使画布内容移动。我试着用here的方式处理MouseDown,MouseMove和MouseUp事件来做翻译,但它没有奏效。

任何想法?

回答

2

你不能用你当前的设置来做到这一点。 Canvas将伸展到其父容器之外,并且scrollviewer不会知道Canvas的大小(它会告诉它不需要滚动),因此无法创建手柄。

如果你想与设置改变跳过画布网格和使用Vertical ScrollHorizontal Scroll和相关的属性集来移动网格的可见部分。

0

尝试给你的画布设置一个宽度和高度,并给它一个背景颜色(透明应该没问题),看看是否可以帮助你得到你的鼠标事件。