在Windows Phone 7页面中,我有以下控件:
<controls:Pivot x:Name="Pivoter" Title="{Binding Name}"
TitleTemplate="{StaticResource PivotTitleTemplate}"
HeaderTemplate="{StaticResource PivotHeaderTemplate}"
ItemsSource="{Binding Items}"
ItemTemplate="{StaticResource DisplayItemDataTemplate}">
</controls:Pivot >
Run Code Online (Sandbox Code Playgroud)
使用此DataTemplate:
<DataTemplate x:Key="DisplayItemDataTemplate">
<Image Grid.Column="0" Stretch="Uniform"
Source="{Binding LargeImage, Converter={StaticResource UriBitmapConverter}}"/>
<StackPanel Grid.Column="1" Orientation="Vertical">
<HyperlinkButton NavigateUri="{Binding Uri}" Content="{Binding Uri}"/>
</StackPanel>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)
这ItemsSource是一个ObservableCollection.当页面显示时,它会创建所有页面,PivotItems但第一个项目不会被创建,除非我向前滚动并返回它.它在滚动列表中有一个条目但没有PivotItem控件.
如果我在Pivot Control的LoadingPivotItem事件中设置了一个断点,那么在第一次显示数据时不会调用它,但是当我滚动并返回到第一个项目时,它只会被击中.
是否有人看到过类似的Pivot控件行为并有解决方法?或者我做错了什么?