Ich verwende das Windows.UI.Composition Framework zum ersten Mal in meiner App. Meine App basiert auf MVVM Light. Ich aktualisiere die App, um weitere Übergangsanimationen zwischen Elementen hinzuzufügen. Die vorherrschende Meinung bei MVVM ist, dass Sie Ihren UI-Code so weit wie möglich in XAML aufbewahren sollten, indem Sie visuelle Zustände an die ViewModel-Eigenschaften binden usw. Aber das gesamte Windows.UI.Composition-Material und die Beispiele, die ich bisher verwendet habe Sehen Sie sich stattdessen die UI-Manipulationen im Code-Behind an.So integrieren Sie Windows.UI.Composition Animationen in UWP MVVM Light App
Lassen Sie uns ein show/hide-Szenario als ein Beispiel verwenden. Ich habe eine Bool-Eigenschaft in meinem ViewModel wie ShowTheBox
. Ich verbinde die Visibility-Eigenschaft von TheBox mit der ViewModel-Eigenschaft. Die Box zeigt oder versteckt sich automatisch basierend auf Änderungen in meinem ViewModel.
Jetzt, mit Windows.UI.Composition, möchte ich Fade-in/Fadeout-Animationen zu den Sichtbarkeit Änderungen von TheBox hinzufügen. Wo ist der beste Ort, um diesen C# -Code zu platzieren, und wie binde ich diesen Übergang an meine ShowTheBox
-Eigenschaft?
Das macht alles Sinn, aber unabhängig davon, ob der Code im Code-Behind ist oder nicht, bekomme ich nicht, wie ich aus einem einfachen show/hide-Szenario basierend auf meiner ViewModel-Eigenschaft an Visibility gebunden bin (wie ich beschrieben habe) zu einer Fade-In/Out-Animation. Es scheint, als müsste ich jedes Mal ein benutzerdefiniertes Steuerelement erstellen, wenn ich einfach etwas ein- und ausbleichen möchte. – Scott
Nun, ich schätze du bist verrückt und es gibt keine Animationen in der brutalen MVVM-Welt :) Auf eine ernsthafte Notiz, überprüfe meine aktualisierte Antwort. Ich hoffe es hilft ein wenig. –
Nicht jeder hat den Luxus, seinen Rahmen zu wählen. Es lohnt sich oder nicht Ich bin mit einer MVVM Light App fest. Mein Beispiel war nicht sehr gut. Mein ViewModel enthält keine UI-Informationen, sondern spiegelt verschiedene Zustände der Daten wider. Verschiedene UI-Elemente sind über die VM an die Zustände der Daten gebunden. Dies funktioniert gut für einfache Sichtbarkeit. Das Problem, das ich habe, ist, wie ich Übergangsanimationen in die Sichtbarkeit von Elementen integriere, um die Benutzeroberfläche eleganter zu machen. Ich habe XAML-Übergänge ausprobiert, aber sie spielen nur einmal, wenn ein Element erstellt wird. Mir ist nicht klar, wie diese durch Sichtbarkeit ausgelöst werden können. – Scott