我有一个滚动查看器,我想在到达边缘时向右滚动。我正在检测鼠标位置并将其与滚动查看器ViewportWidth
进行比较。它首先工作,当拖动到边缘时它将滚动。但是,一旦我放手,再试一次,或者如果我抓住鼠标并移回滚动查看器,它将继续运行。
我注意到的是,无论最初的宽度(我第一次到达边缘),它似乎都认为ViewportWidth
仍然是相同的,即使我已经滚动了。因此,无论何时达到特定宽度,它都会滚动。
每次滚动时,有没有办法让ViewportWidth
更新?我尝试在更改偏移量后将UpdateLayout
放入函数中,但它不起作用。这里的目标是使宽度不断更新,以便我可以检查视口的边缘是否已经改变。
答案 0 :(得分:1)
将ViewportWidth
与HorizontalOffset
合并,解决了我的问题。添加它们,然后将pt.X与它进行比较就可以得到Viewport和溢出之间的确切区域,允许我滚动。