Wpf 在ScrollViewer中平移画布的内容

Wpf 在ScrollViewer中平移画布的内容,wpf,wpf-controls,scrollviewer,Wpf,Wpf Controls,Scrollviewer,我试图在scrollviewer中的画布中实现平移,如: <ScrollViewer> <Canvas> <!-- some visual elements here --> </Canvas> </ScrollViewer> 我希望在画布中执行单击和拖动操作,以使画布的内容移动。我尝试过处理MouseDown、MouseMove和MouseUp事件,以所描述的方式进行翻译,但没有成功 有什么想

我试图在scrollviewer中的画布中实现平移,如:

<ScrollViewer>
    <Canvas>

        <!-- some visual elements here -->

    </Canvas>
</ScrollViewer>

我希望在画布中执行单击和拖动操作,以使画布的内容移动。我尝试过处理MouseDown、MouseMove和MouseUp事件,以所描述的方式进行翻译,但没有成功


有什么想法吗?

试着给你的画布设定一个宽度和高度,并给它一个背景色(透明应该很好),看看这是否有助于你获得鼠标事件。

你不能用当前的设置来实现这一点。画布将超出其父容器,scrollviewer将不知道画布的大小(它将告诉它不需要滚动),因此无法创建句柄

如果要跳过该设置,请将画布更改为栅格,并使用and和关联的集合属性来移动栅格的可见部分