wpf – 在ScrollViewer中平移Canvas的内容

我正在尝试在scrollview中的Canvas中实现平移,如:

<ScrollViewer>
    <Canvas>

        <!-- some visual elements here -->

    </Canvas>
</ScrollViewer>

我想在画布中进行单击并拖动操作,以使画布的内容移动.我已经尝试处理MouseDown,MouseMove和MouseUp事件以here描述的方式进行翻译,但它没有奏效.

有任何想法吗?

最佳答案 您当前的设置无法做到这一点. Canvas将超出其父容器,并且scrollviewer将不知道Canvas的大小(它将告诉它不需要滚动),因此无法创建句柄.

如果要跳过该设置,请将画布更改为网格,并使用Vertical ScrollHorizontal Scroll以及关联的设置属性来移动网格的可见部分.

点赞