我在我的應用程序中第一次使用Windows.UI.Composition框架。我的應用程序建立在MVVM Light上。我正在更新應用程序以在元素之間添加更多的過渡動畫。如何將Windows.UI.Composition動畫集成到UWP MVVM Light應用程序
MVVM的主流觀點是,您應該儘可能將您的UI代碼保留在XAML中,將視覺狀態綁定到ViewModel屬性等。但所有Windows.UI.Composition材質和樣本而是在代碼隱藏中定義UI操作。
讓我們以show/hide方案爲例。我的ViewModel中有一個bool屬性,如ShowTheBox
。我將TheBox的Visibility屬性綁定到ViewModel屬性。該Box會根據ViewModel中的更改自動顯示或隱藏。
現在,使用Windows.UI.Composition,我想添加淡入/淡出動畫到TheBox的可見性變化。哪裏是放置該C#代碼的最佳地點,以及如何將該轉換綁定到我的ShowTheBox
屬性?
這一切都有道理,但無論代碼是否在代碼隱藏中,我都不明白我是如何從簡單的顯示/隱藏場景移動到基於我的ViewModel屬性(如我所描述的)淡入/淡出動畫。似乎每次我想簡單地淡入淡出某些東西都會矯枉過正,就必須創建一個自定義控件。 – Scott
嗯,我想你被搞砸了,在殘酷的MVVM世界裏沒有動畫可能:)在一個嚴肅的筆記,檢查我更新的答案。我希望它有一點幫助。 –
並非每個人都有選擇框架的奢侈。值得與否我堅持使用MVVM Light應用程序。我的例子不是很好的例子。我的ViewModel實際上並不包含UI信息,它反映了數據的不同狀態。各種UI元素通過VM綁定到數據的狀態。這適用於簡單的可見性。我遇到的問題是如何將轉換動畫集成到元素的可見性中,以使UI更加優雅。我已經嘗試過XAML Transitions,但它們只在元素創建時播放一次。我不清楚如何讓這些由可視性觸發。 – Scott