Je souhaite avoir un déclencheur sur une image qui se développe et contracte une ItemsSource en animant sa propriété height.Animation WPF pour étendre la hauteur du contrat
J'ai un ItemsSource générique lié à une ObservableCollection, donc je ne connais pas la hauteur totale de ce contrôle.
Une fois que l'image est cliquée, elle doit changer son glyphe de source d'image pour montrer que la source d'éléments est étendue. Une fois de nouveau cliqué, ItemsSource devrait commencer à se contracter de en cours hauteur de retour à 0 - parce que la première animation peut ne pas être terminée.
Actuellement, j'ai le déclencheur d'image:
<Image Name="ExpandImage" Source="ArrowDown.png">
<Image.Triggers>
<EventTrigger RoutedEvent="Image.MouseLeftButtonDown">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Height"
Storyboard.TargetName="myItemsControl"
From="0" To="300" Duration="0:0:2" />
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</Image.Triggers>
</Image>
C'est laid parce qu'il anime à une hauteur fixe - je en ai besoin pour animer à la (hauteur inconnue) totale du ItemsControl. En outre, il prend uniquement en charge l'animation unidirectionnelle (en expansion).
Mon ItemsControl est tout simplement:
<ItemsControl Name="myItemsControl"
ItemsSource="{Binding Items}" Height="0" >
<ItemsControl.ItemTemplate>
<DataTemplate>
<c:CustomUserControl/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>