如何有效使用Pivot

本文关键字:Pivot 有效 何有效 | 更新日期: 2023-09-27 17:57:40

我的WP7应用程序中有以下数据结构。我通过数据绑定生成三个PivotItems,绑定的内容。有趣的是,当数据透视项发生绑定时,内容(项)会被查询三次,然后再进行选择更改。

我做错了什么吗?

代码:

<controls:Pivot Title="{StaticResource ApplicationName}" ItemsSource="{Binding Folders}" SelectedItem="{Binding SelectedFolder, Mode=TwoWay}" Name="_pivot">
    <controls:Pivot.ItemTemplate>
        <DataTemplate>
            <ListBox DataContext="{Binding Source={StaticResource Locator}}" ItemsSource="{Binding ThingsListViewModel.Items}"  />
        </DataTemplate>
    </controls:Pivot.ItemTemplate>

我有三个文件夹项,当创建Pivot控件时,ThingsListViewModel.Items属性执行三次,每次选择更改时执行一次。

我希望ThingsListViewModel.Items只对Pivot控件执行选择更改。

如何有效使用Pivot

我认为您需要监听数据透视的LoadedPivotItem和Loaded事件。Loaded事件将始终加载第一个数据透视项(LoadedPivotItem)。不会调用该事件。当用户滑动到另一个数据透视项时,会调用LoadedPivotItem。

根据这些事件,您应该运行对当前SelectedPage的查询。您可能还希望在加载每个数据透视的数据后使用一个标志来指示,以避免再次运行查询。