Windows phone 7 WP7枢轴控制是如何工作的?

Windows phone 7 WP7枢轴控制是如何工作的?,windows-phone-7,header,pivot,large-data,Windows Phone 7,Header,Pivot,Large Data,我正在构建Windows Phone 7应用程序,该应用程序显示一个大型图像库。我正在使用pivot控件来显示它们 pivot具有包含1个TextBlock(图片标题)的HeaderTemplate,以及包含1个Image控件(图片)的ItemTemplate 假设我的画廊里有300幅画。当我选择第300张图片时,我会看到图像立即显示第300张图片,但标题会从第一个标题逐渐显示到第300个标题 为什么标题不立即显示第300个标题?如何强制它立即显示 是否有更好的pivot实现来处理大量项目?您可

我正在构建Windows Phone 7应用程序,该应用程序显示一个大型图像库。我正在使用pivot控件来显示它们

pivot具有包含1个
TextBlock
(图片标题)的
HeaderTemplate
,以及包含1个
Image
控件(图片)的
ItemTemplate

假设我的画廊里有300幅画。当我选择第300张图片时,我会看到
图像
立即显示第300张图片,但标题会从第一个标题逐渐显示到第300个标题

为什么标题不立即显示第300个标题?如何强制它立即显示


是否有更好的pivot实现来处理大量项目?

您可以使用任意数量的项目。只需使用数据绑定,无需其他。没有代码隐藏,也没有手动添加用户控件。只需像以前一样使用模板,一切都很好。为什么?

模板和数据绑定的概念是,只有数据才会改变。如果你看到巨大的列表向下滚动,实际上只有项目的内容会改变。列表本身将只保留。。。例如,10个项目+2(顶部/底部),如果需要,将用条目x结尾的数据填充。通过使用数据绑定,内存只需要显示大约12项,而不是百分之一百或千分之一百

为了检查您的情况,您可以将任何计时器添加到主页并检查RAM使用情况:

Private Sub dptm_Tick(sender As Object, e As System.EventArgs) Handles dptm.Tick
    txtDeviceUsedMemory.Text = "Speichernutzung : " & (Microsoft.Phone.Info.DeviceStatus.ApplicationCurrentMemoryUsage / 1024 / 1024).ToString("0.0") & "MB"
End Sub

这是精心设计的。你到底想要什么?@DanteisnotaGeek我想强迫它立即显示标题。它是加载全部300张图片,还是只加载第300张图片?因为300是最后一张,所以过渡效果是经过设计的。您对299和300之间的转换满意吗?您真的不应该使用Pivot来显示百分之一百的图像。它被设计成显示单独的页面,大约10最大。你应该考虑使用SlideView这样的东西:@ MartinSuchan,它是付费的:(是否有更好的pivot实现方法?但1000个项目的pivot比100个项目的pivot占用更多内存。pivot似乎为其所有项目创建UI容器?这取决于您将如何使用它。如果仅使用一个项目作为“模板”它可以正常工作。如果您在MainPageLoad事件中添加1000个pivot页面,它将使用RAM。我确实为我的pivot使用数据绑定,绑定源有1000个项目。我想知道pivot是否为这1000个项目创建1000个UI容器?你说的“pivot”是什么意思?Pivot Pages=1000个Pivot Pages?或一个Pivot Pages,如示例中的“1000项”列表?还可以看看我的“RAM使用”示例,它几乎可以帮助您。