J'ai un Pivot avec ListBoxes dans chaque PevotItem. J'ai fait le contrôle de bouton pour l'animation des éléments dans ListBoxes. Il y a un arbre de ces boutons - chacun d'entre eux a une image différente. Cependant, il existe peut-être un moyen de créer un bouton et de lier la source de l'image. Je pense que cela va améliorer le temps de chargement de la page.windows phone 7, Liaison de source d'image de modèle de bouton
Je serai reconnaissant pour toute réponse.
Voici mon code:
<DataTemplate x:Key="pageItemTemplate">
<Button Content="{Binding name}" Margin="0,0,0,20" Style="{StaticResource PageListItemButton}"/>
</DataTemplate>
<Style x:Key="PageListItemButton" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<StackPanel x:Name="stackPanel" Orientation="Horizontal">
<StackPanel.Projection>
<PlaneProjection CenterOfRotationY="0" CenterOfRotationX="1"/>
</StackPanel.Projection>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="0:0:0.05">
<VisualTransition.GeneratedEasingFunction>
<CircleEase EasingMode="EaseInOut"/>
</VisualTransition.GeneratedEasingFunction>
</VisualTransition>
</VisualStateGroup.Transitions>
<VisualState x:Name="Normal"/>
<VisualState x:Name="MouseOver"/>
<VisualState x:Name="Pressed">
<Storyboard>
<DoubleAnimation Duration="0" To="15" Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.RotationY)" Storyboard.TargetName="stackPanel" d:IsOptimized="True"/>
<DoubleAnimation Duration="0" To="0.7" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="stackPanel" d:IsOptimized="True"/>
</Storyboard>
</VisualState>
<VisualState x:Name="Disabled"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Image Source="Images/MainPage/page.png" Height="40" Stretch="Fill" Width="40"/>
<ContentPresenter VerticalAlignment="Bottom"/>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="FontFamily" Value="/BestNote;component/Fonts/Fonts.zip#Diavlo Bold"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="FontSize" Value="24"/>
<Setter Property="Foreground" Value="#FF292929"/>
</Style>
-je utiliser à chaque fois que chose quand charge silverlight la page, il doit analyser le XAML. Donc, quand j'ai un modèle au lieu d'un arbre, cela devrait prendre moins de temps pour l'analyser. Ai-je raison? –
Cette optimisation particulière est une question intéressante. Comme nous le savons, Pivot charge des articles paresseux. Quelqu'un peut décider de regarder de plus près et de vérifier. Je suis un fan de profiling à moins qu'il y ait une optimisation pour certain que je sais produira un résultat. –