如何在Windows 8 Metro(C++/XAML)中制作循环/循环ScrollViewer

PZS*_*PZS 6 c++ xaml windows-8 windows-runtime winrt-xaml

在Windows 8 Metro应用程序中,是否可以创建ScrollViewer,在到达视图中的最后一项时,它会循环回到视图中的第一项?如果是这样,我怎样才能达到这个效果?

Fil*_*kun 1

我不相信 WinRT/XAML 中存在类似的控件,因此您需要实现自定义控件。您可以采取多种方法,但我可能会避免使用 ScrollViewer 并直接处理操作事件,因为根据您的要求调整 ScrollViewer 的行为可能并不容易。我将根据操作事件和滚动偏移来控制滚动偏移 - 在视图中定位元素 - 例如使用 Canvas 控件。您需要根据滚动偏移重新定位项目面板中的元素,以便例如一端超出视口的项目移动到另一端。它将涉及自定义依赖属性、项目容器等。如果您了解所有这些 API,可能至少需要几个小时的工作。