2013-03-01 4 views
0

Мне сложно определить правильный способ анимации моего пользовательского интерфейса. Я знаю, как я мог бы сделать эти две вещи, но все решения, которые я придумал, означают много (уродливый) код и, должно быть, лучший способ.Анимация Windows Store App -UI

Что было бы правильным или самым «чистым» способом анимации какого-либо значения, это привязка к свойству. У меня есть Color -property на моей модели, которая определяет цвет фона элемента. Когда этот цвет меняется, я бы хотел, чтобы он был гладким, а не просто внезапным изменением цвета. Может ли это быть сделано в xaml, так что модели не нужно было бы это знать?

Как насчет кроссфейдинга? В настоящее время я достиг этого, поставив два элемента управления друг на друга (в сетке). Когда я начинаю смену, I 1. Установите видимость элемента1 на видимый 2. Запустите анимацию, которая изменяет непрозрачность элемента1 от 0 до 1 3. Запустите анимацию, которая изменяет непрозрачность элемента2 от 1 до 0 4. Когда анимации закончили, установить видимость element2 к свернутой (так, что он не будет фиксировать все события мыши)

о, и приложение (MVVM) пишется с C# и XAML, используя WinRT-апи

ответ

0

Я понимаю, это очень поздно, но для тех, кто видит это в будущем:

Вы должны проверить VisualStates и VisualTransitio нс. Они позволяют определять состояния, которые вы хотите отобразить (например, непрозрачность 0 или 1), и анимации, которые вызывается при переходе из одного состояния в другое. Это довольно просто сделать и можно сделать почти исключительно в XAML (кроме вызова GoToState). Однако вы можете проверить некоторые расширения, поскольку они предоставляют такие вещи, как Behaviors, которые позволяют запускать состояния на таких вещах, как изменения данных.

Существует руководство по базовому VisualState/VisualTransision here.