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

时间:2014-02-03 14:36:43

标签: windows-8 windows-runtime

是否可以在WinRT中将UI虚拟化应用于ScrollViewer。在我的应用程序中,我在Polyline(嵌入在scrollviewver中的Polyline)的帮助下创建折线图。但在目前的情况下,如果它来了500多点。它在与Map交互期间阻止UI。所以我想要实现的是应用一种UI虚拟化来滚动视图。如果有人有任何想法要解决这个问题,请帮助我。

1 个答案:

答案 0 :(得分:3)

我处理Polyline的方法是将数据分成多个部分,可能是屏幕范围的(假设只进行水平滚动),将Canvas放在ScrollViewer内},将Width的大小(Canvas)设为图表的总大小,并在其中放置一些(例如5个)Polyline控件,然后放在ViewChanged上事件更新Polyline控件'Canvas.LeftPoints属性,以对应ScrollViewer当前视图端口周围的区域。这应该会给你平滑的滚动。只是不要添加/删除或更新每个ViewChanged上的控件,只在需要时更新Canvas.LeftPoints - 即没有{{1}时准备显示在当前视口旁边。