0

我知道您不应该向枢轴控件添加超过 7 个项目,但它非常易于使用。

直到现在我什至没有遇到问题:我有一个呈现文章的数据透视项模板(例如,日期、标题、内容)。我正在使用枢轴,因为在轻弹文章时我想转到下一篇/上一篇。然而,经过几次轻弹(~50,有点糟糕),我得到了 OutOfMemoryException。内存使用表明,PivotItem 内容是在第一次访问时动态生成的,但随后它们不会被释放。

我可以连接到 UnloadedPivotItem/LoadedPivotItem(适用于图像查看和 Source 属性)并清除可视化树,但这意味着我必须“手动”为每个视图模型生成内容。

那么:有没有可能的方法来指定缓存应该有多大?或者至少是一种从给定 ViewModel 重新生成 PivotItem 内容的理智方法?

4

1 回答 1

1

我会推荐使用Telerik 的 SlideView控件。在我看来,没有理由不使用 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>
于 2013-10-17T14:15:39.030 回答