我知道你不应该为一个数据透视控件添加超过7个项目,但它很容易使用。
直到现在我才遇到问题:我有一个透视项目模板,用于呈现文章(说,日期,标题,内容)。我正在使用一个支点,因为当我轻弹文章时我想去下一个/上一个。然而,经过一些电影(~50,小小的深渊)后,我得到一个OutOfMemoryException。内存使用情况表明,PivotItem内容是在第一次访问时动态生成的,但是它们不会被释放。
我可以挂钩到UnloadedPivotItem / LoadedPivotItem(适用于图像查看和Source属性)并清除可视树,但这意味着我必须“手动”为每个视图模型生成内容。
那么:有没有可能的方法来指定缓存应该有多大?或者至少是一种从给定的ViewModel重新生成PivotItem内容的合理方法?
答案 0 :(得分:1)
我建议使用Telerik's SlideView控件。 In my mind,没有理由不使用Telerik的控制权(我不为Telerik工作,也不支持Telerik)。您可以从商店下载Telerik示例应用程序以查看其使用情况。这种控制正是您所需要的。它就像任何其他ItemsControl一样。您设置ItemsSource和ItemTemplate。
<telerikPrimitives:RadSlideView ItemsSource="{Binding Articles}"
IsLoopingEnabled="False" <!-- Will NOT go back to the beginning -->
ItemRealizationMode="ViewportItem">
<telerikPrimitives:RadSlideView.ItemTemplate>
<DataTemplate>
<Grid Margin="12,0,0,0">
<!-- Content ->
</Grid>
</DataTemplate>
</telerikPrimitives:RadSlideView.ItemTemplate>
</telerikPrimitives:RadSlideView>