none
[UWP] x:DeferLoadStrategy="Lazy" sur pivot items RRS feed

  • Discussion générale

  • Bonjour,

    Je cherche à implémenter DeferLoadStrategy sur les pivot items d'un pivot d'une application UWP.

    J'ai une ItemsSource ou un ItemTemplateSelector selon la page. La collection de pivot items peut varier selon les préférences de l'utilisateur (un peu comme l'application actualités de Windows 10).  Il y a pas mal de données à récupérer et à afficher, donc c'est pour cela que j'essaie par tous les moyens à gagner en performance.

     <Pivot x:Name="Pivot" ItemsSource="{x:Bind ViewModel.TabItems,Mode=OneWay}">
                    <Pivot.HeaderTemplate>
                        <DataTemplate x:DataType="youtubeControls:TabItem">
                            <Grid>
                                <TextBlock Text="{x:Bind Title,Mode=OneWay}" Style="{StaticResource BodyTextBlockStyle}" Margin="12,0"/>
                            </Grid>
                        </DataTemplate>
                    </Pivot.HeaderTemplate>
                    <Pivot.ItemTemplate>
                        <DataTemplate x:DataType="youtubeControls:TabItem">
                            <Grid>
                                <GridView x:Name="itemsGridView" 
                                      ItemsSource="{x:Bind Items,Mode=OneWay}" 
                                      ItemTemplateSelector="{StaticResource ItemTemplateSelector}"
                                      ItemContainerStyle="{StaticResource LargeGridViewItemContainerStyle}"
                                      SelectionMode="None" 
                                      IsSwipeEnabled="False" 
                                      IsItemClickEnabled="True">
                                <GridView.ItemContainerTransitions>
                                    <TransitionCollection>
                                        <AddDeleteThemeTransition/>
                                        <EntranceThemeTransition/>
                                        <RepositionThemeTransition />
                                    </TransitionCollection>
                                </GridView.ItemContainerTransitions>
                                <interactivity:Interaction.Behaviors>
                                    <core:EventTriggerBehavior EventName="ItemClick">
                                        <core:InvokeCommandAction Command="{Binding DataContext.GoVideoPageCommand,ElementName=ThisPage}" 
                                                                  CommandParameter="{Binding ElementName=itemsGridView,Path=SelectedItem}"/>
                                    </core:EventTriggerBehavior>
                                </interactivity:Interaction.Behaviors>
                            </GridView>
                            </Grid>
                        </DataTemplate>
                    </Pivot.ItemTemplate>
                </Pivot>



    jerome




    vendredi 26 février 2016 12:12

Toutes les réponses