Ich habe eine MVVM-App, die viele Daten vom Remote-Server abruft. Ich möchte eine Animation hinzufügen, während die Daten geladen werden , was der beste Weg, dies zu tun.Erstellen einer generischen Ladeanimation in mvvm
Antwort
Ein Weg dazu besteht darin, eine Eigenschaft im View-Modell namens IsLoadingData zu haben. Sie können es dann mithilfe eines BooleanToVisibilityConverter an die Visibility-Eigenschaft eines Steuerelements binden, das die Animation hostet.
Visibility={Binding
Path=IsLoadingData,
Converter={StaticResource BooleanToVisibilityConverter}}
kann Diese Steuerung dann eine Control verwenden, um ein Storyboard starten die Animation, wenn die VisibilityProperty auf true gesetzt ist enthalten.
<ControlTemplate.Triggers>
<Trigger Property="IsVisible" Value="True">
<Trigger.EnterActions>
<BeginStoryboard
x:Name="Storyboard0"
Storyboard="{StaticResource Animation0}"
/>
</Trigger.EnterActions>
</Trigger>
</ControlTemplate.Triggers>
Für eine Probe dieser Animation meine blog post die volle Quelle enthält, sehen Sie sich bitte.
Hoffentlich haben Sie möglicherweise ein DataTemplate für das Objekt anzeigen möchten. Stellen Sie sicher, dass Sie bereits eine Empty-Instanz derselben Instanz an die Benutzerschnittstelle gebunden haben, sodass DataTemplate vor dem Laden der Daten instanziiert wurde. Lassen Sie das Objekt eine IsLoaded/IsRefreshed-Eigenschaft haben. Dann können Sie DataTrigger für die DataTemplate schreiben, um die Lade- (oder Datenaktualisierungs-) Animation zu starten und zu stoppen, während IsLoaded von der VM wechselt. Wenn dies zutrifft, können Sie die Animationsvisualisierung reduzieren (oder eine langsame Überblendungsanimation), so dass alle Daten vorliegen schön angezeigt.
Ich habe ein altes Blog somethig ähnlichen hier http://jobijoy.blogspot.com/2009/07/easy-way-to-update-all-ui-property.html, Noch ein Tipp zu tun, die nützlich sein könnten, zu Ihnen, mit null NotifypropertyChanged Ereignisse Raise als PropertyChangedEventArgs all Property Bindungen des Datatemplate erzählen zu aktualisieren.
- 1. Erstellen einer generischen Eigenschaft
- 2. Erstellen einer generischen Array-Instanz in einer generischen Methode
- 3. Erstellen einer Ladeanimation zwischen Seiten auf Seitenumleitung. VB.net
- 4. Erstellen einer generischen NotFound-Ansicht in ASP.MVC
- 5. Erstellen einer generischen verknüpften Liste in C
- 6. Erstellen einer generischen IList-Instanz mit Reflektion
- 7. Erstellen einer generischen typsicheren HashMap nach Klassentyp?
- 8. Erstellen einer Instanz eines generischen Typs in DART
- 9. Instanz des generischen Typs erstellen?
- 10. Wie ein generischen/wiederverwendbare modalen Dialog für WPF folgend MVVM
- 11. Wie MouseOver-Ereignis in MVVM zu erstellen?
- 12. Wie DataGridTextColumn Änderungsereignis in WPF (MVVM) erstellen?
- 13. Erstellen Sie einen generischen Basisadapter?
- 14. Erstellen eines generischen Beendigungshandlers in Swift
- 15. Erstellen eines generischen Methoden-Dekorators in Typescript
- 16. Erstellen von generischen mit Unterklasse
- 17. Initialisieren einer generischen Swift-Enumeration aus einer anderen generischen Enumeration?
- 18. Erstellen eines generischen Objekts basierend auf einer Typvariablen
- 19. Was erweitern wir beim Erstellen einer generischen Erweiterungsmethode?
- 20. Typedef (Alias) einer generischen Klasse
- 21. Erzwingen, den Typ zum Erstellen einer generischen Instanz festlegen?
- 22. zu T in einer generischen Methode
- 23. Ändern Collection Quelle in einer MVVM Welt
- 24. Erstellen eines Arrays von doppelten generischen - Java
- 25. Aufruf einer Methode eines UserControl in MVVM
- 26. Call RelayCommand in einer anderen Klasse MVVM
- 27. Ist es möglich, einen generischen Abschluss in Swift zu erstellen?
- 28. Bearbeiten von Datensätzen mit MVVM/MVVM-Light
- 29. Checking Typparameter einer generischen Methode in C#
- 30. Verwenden einer Typvariable in einem generischen