scrollviewer和canvas - 滚动视图到给定位置

时间:2010-09-15 17:05:18

标签: wpf canvas scroll scrollviewer scrollview

我在WPF中实现自动滚动有一些问题(我想我可以这样称呼它)。 我有一个画布放在一个scrollviwer内。在我的画布上,我可以动态添加不同的形状。可以使用鼠标更改此形状的位置。每次我在画布上添加新形状或更改形状的位置时我都会触发measureOverride函数。感谢此滚动视图“知道”画布的实际大小并显示滚动条。但是,即使出现滚动条,视图也不会“跟随”我当前移动的形状。我的意思是,如果我到达画布的可见部分,我想帆布到srcoll。 我试图使用这个功能

ScrollToHorizontalOffset()

但是我在正确使用该功能时遇到问题。我试图使用(作为参数)画布的实际宽度,但它不能很好地工作。我也试图用作参数当前位置的形状(我移动),但它只能用于一种方式。如果我将此元素移动到画布的右侧,则查看器会跟随移动元素。但是,如果我向后移动形状(向左),则视图不会跟随形状。

我希望有人能理解这一点:)很难解释我的问题。

1 个答案:

答案 0 :(得分:0)

  

我也试图用作   参数当前形状位置

这是正确的实施方式。你需要的是一个转换器,它将根据你移动物体的方向返回位置。