Mam ListView, który dodałem elementy wiążące. ListView wygląda następująco:Jak ustawić animacje/przejścia podczas dodawania elementów do listy listView?
<ListView
x:Name="ListView"
Height="auto"
Width="350"
ItemsSource="{Binding}"
Padding="0,0,-20,0"
Grid.Row="1"
Grid.Column="0"
Background="#EFEFEF"
ItemContainerStyle="{StaticResource ListViewStyle}">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Height="50" VerticalAlignment="Top" Margin="0,0,0,0"
<TextBlock Text="{Binding name} TextWrapping="NoWrap"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Przy tej podstawowej konfiguracji istnieje już animacja, gdy element jest powiązany z Listą podstawową. Dziwnie do różnych animacji są używane. Pierwszy element pojawi się z prawej strony, a wszystkie pozostałe elementy będą się pojawiać. Szukam sposobu na animowanie wszystkich dodanych elementów w ten sam sposób (np. Wsuwanie z prawej strony). Byłem blokowania w generowane automatycznie (przez Blend) ListViewStyle od wielu godzin, ale nie mogłem znaleźć coś. Później okazało się, że jest możliwe, aby dodać tę właściwość wewnątrz stylu:
<Style x:Key="ListViewStyle" TargetType="ListViewItem">
<Setter Property="Transitions">
<Setter.Value>
<TransitionCollection>
<EntranceThemeTransition FromHorizontalOffset="400" />
<PopupThemeTransition FromHorizontalOffset="400"/>
</TransitionCollection>
</Setter.Value>
</Setter>
...
</Style>
EntranceThemeTransition i PopupThemeTransition wydaje się być odpowiednie właściwości, ponieważ zmienić zachowanie animacji. Ale nie wiem, jak z nich korzystać, ani jak je wyłączyć. Jak mogę uzyskać jedną animację (przesuń od prawej) do ListView?
Chcę ponownie uruchomić tę animację, czy mogę ją wywołać z kodu? –
Nie. Aby to zrobić, musisz podłączyć zwykłą animację 'Storyboard' lub per-frame. –
Tyle frajdy, aby natknąć się na własną odpowiedź, gdy próbuje przypomnieć sobie, co "ChildrenTransitions" zostały nazwane 4 lata później ... :) –