Dans mon projet, j'ai une Listbox WPF liée à une ObservableCollection. Chaque fois que j'ajoute un nouvel élément à la collection, le même élément est automatiquement ajouté à la liste. Pour afficher les éléments dans la zone de liste, j'utilise un Datatemplate XAML. Ce que je veux faire est animer un élément une fois quand il est ajouté à la collection/Listbox. Est-ce que cela peut être fait? Comme l'animation dans le datatemplate peut-être? Je suppose que j'ai besoin d'un trigger pour démarrer cette animation mais quel déclencheur est déclenché quand un nouvel item/datatemplate est ajouté?Animate WPF Datatemplate lorsque l'élément a été ajouté à Listbox?
27
A
Répondre
25
Je pense qu'un déclencheur d'événement pour l'événement routé FrameworkElement.Loaded pourrait fonctionner. Par exemple:
<DataTemplate DataType="{x:Type l:Foo}">
<Button x:Name="Button" Content="{Binding Path=Bar}">
<Button.Background>
<SolidColorBrush x:Name="ButtonBrush" Color="Tan" />
</Button.Background>
</Button>
<DataTemplate.Triggers>
<EventTrigger RoutedEvent="FrameworkElement.Loaded" SourceName="Button">
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetName="ButtonBrush" Storyboard.TargetProperty="Color" To="Red" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</DataTemplate.Triggers>
</DataTemplate>
Fonctionne comme un rêve! Merci – TalkingCode
Bon tour, tnx! =) –