我的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。
答案 0 :(得分:3)
我认为您需要侦听数据透视表的LoadedPivotItem和Loaded事件。 Loaded事件将始终加载第一个PivotItem(LoadedPivotItem)将不会被调用。当用户滑动到另一个PivotItem时,将调用LoadedPivotItem。
根据这些事件,您应该对当前的SelectedPage运行查询。在为每个Pivot加载数据后,您可能还需要一个标志来指示,以避免再次运行查询。