如何有效地使用Pivot?

时间:2011-05-23 15:43:28

标签: c# windows-phone-7 pivot

我的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>

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

我希望ThingsListViewModel.Items只能在Pivot控件上执行选择chage。

1 个答案:

答案 0 :(得分:3)

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

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