如何将UI虚拟化应用于WinRT中的ScrollViewer

5

在WinRT中,是否可以将UI虚拟化应用于ScrollViewer?在我的应用程序中,我正在使用Polyline创建一条折线图(Polyline嵌入在scrollviewver中)。但是,在当前情况下,如果有超过500个点,它会在与地图交互时阻塞UI。因此,我正在尝试将UI虚拟化应用于滚动视图。如果有人有解决这个问题的想法,请帮助我。


你需要处理滚动事件等。这个问题没有简单的解决方案。 - WiredPrairie
1个回答

3
我处理Polyline的方法是将其数据分成几个部分,可能是屏幕宽度的部分(假设仅水平滚动),并在 ScrollViewer 中放置一个 Canvas ,使 Canvas 的大小( Width )等于图表的总大小,并在其中放置一些(比如5个) Polyline 控件。然后在 ViewChanged 事件上更新 Polyline 控件的 Canvas.Left Points 属性,以对应于 ScrollViewer 当前视口周围的区域。这样可以实现平滑滚动。只需在每次 ViewChanged 时不要添加/删除或更新控件,并仅在需要时更新 Canvas.Left Points - 即当您没有准备好显示在当前视口旁边的 Polyline 时。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接