DataBound Pivot控件未创建第一个PivotItem

dka*_*man 13 silverlight pivot windows-phone-7

在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控件行为并有解决方法?或者我做错了什么?

Jab*_*Jab 4

我遇到了同样的问题。

看来应该在构造函数中设置数据透视表的 DataContext。我在 Page_Loaded 事件中设置 DataContext,第一个数据透视项不会触发 Loading 事件,如所述。通过简单地绑定我的 DataContext ,事件就开始触发。

我相信这是框架中的一个错误,但我还没有做足够的工作来确认它。