gpt4 book ai didi

c# - 有没有简单的方法来制作 ScrollViewer "bouncy"?

转载 作者:太空狗 更新时间:2023-10-29 23:47:28 26 4
gpt4 key购买 nike

我使用 WPF ScrollViewer 来托管一些控件。我真的很希望它能像在触摸设备上那样进行交互,当你将它拉得太远时,它会慢慢回到原位。

它没有滚动条 - 我使用此代码通过单击和拖动手动滚动鼠标:

Point currentPoint = e.GetPosition(this);

// Determine the new amount to scroll.
Point delta = new Point(scrollStartPoint.X - currentPoint.X, scrollStartPoint.Y - currentPoint.Y);

if (Math.Abs(delta.X) < PixelsToMoveToBeConsideredScroll &&
Math.Abs(delta.Y) < PixelsToMoveToBeConsideredScroll)
return;

scrollTarget.X = scrollStartOffset.X + delta.X;
scrollTarget.Y = scrollStartOffset.Y + delta.Y;

// Scroll to the new position.
sv.ScrollToHorizontalOffset(scrollTarget.X);
sv.ScrollToVerticalOffset(scrollTarget.Y);

有没有简单的方法来做到这一点?目前,它就像一个普通的滚动文本框,既不会超出其正常范围,也不会慢慢退回。

最佳答案

如果您使用的是触控设备,请查看 Microsoft SurfaceScrollViewer (http://msdn.microsoft.com/en-us/library/microsoft.surface.presentation.controls.surfacescrollviewer.aspx)。它已经内置了这种行为。

获得正确的触摸交互很棘手,更容易找到其他已经做过的人。 ;-)

关于c# - 有没有简单的方法来制作 ScrollViewer "bouncy"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10360557/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com