Silverlight 4: Как вызвать анимацию, когда текст TextBlock изменяется во время привязки данных? - PullRequest
3 голосов
/ 14 июня 2010

У меня есть пользовательский элемент управления, для которого datacontext установлен для модели представления.Пользовательский элемент управления содержит несколько текстовых блоков и текстовых полей, которые связаны для просмотра свойств модели.Я хотел бы сделать небольшую анимацию, когда значение свойства модели представления изменяется, но я не могу найти способ сделать это в Silverlight.

В WPF мы можем использовать такие свойства, как NotifyOnTargetUpdated и Binding.TargetUpdated, чтобы зафиксировать изменения, но они отсутствуют в Silverlight.В моем случае анимация не основана на значении свойства, то есть я не хочу запускать анимацию, когда значение какого-либо свойства, например, равно 5. Вместо этого анимация должна запускаться каждый раз, когда изменяется значение свойства (чтобы выделить измененноеконтент для пользователя).

Вот ответ о том, как сделать это в WPF: Анимировать текст WPF при привязке обновлений, как?

Но как я могу сделать то же самое с Silverlight 4?

1 Ответ

5 голосов
/ 14 июня 2010

вы должны быть в состоянии сделать это, используя новый триггер, включенный в Expression Blend 4. Существует целая куча ne поведений / триггеров и т. Д., Которые позволяют вам реагировать, например, на изменения в ViewModel.

со страницы функции Expression Blend:

Новое поведение Expression Blend включает в себя новое поведение MultiZouch TranslateZoomRotateBehavior и элемент управления PanningItems, который можно использовать для прокрутки между элементами с помощью касания. В Expression Blend также есть новый триггер, который реагирует на изменение кадра или приостановку или завершение анимации SketchFlow, которая называется SketchFlowAnimationTrigger. В Expression Blend добавлены новые наборы поведений для перетаскивания элементов между списками, для изменения навигации по меню и для сохранения состояний экрана, такие как SetDataStoreValueAction и DataStoreChangedTrigger.

В FluidMoveBehavior было сделано замечательное улучшение: если вы применяете его к различным представлениям одного и того же элемента данных, когда элемент перемещается из одного представления в другое (например, из представления списка в представление сведений), оно плавно оживляет переход между двумя видами.

Новые варианты поведения для приложений, использующих шаблон Model-View-ViewModel, включают следующее: CallMethodAction, InvokeCommandAction и DataStateBehavior. Вы можете использовать эти Поведения для вызова поведения ваших ViewModels или для ответа на изменения их свойств.

Условное поведение и хранилище данных Теперь вы можете встроить условную логику в свои прототипы и производственные приложения без необходимости писать код. Фактически любое действие может быть связано с набором условий, которые должны быть выполнены для выполнения действия. Новая функция хранилища данных позволяет считывать и записывать переменные приложения, например роль текущего пользователя, и, таким образом, эффективно взаимодействовать между различными частями вашего приложения через это общее состояние.

Новые компоненты поведения, представленные как часть этой функции, включают редактор условий, который появляется на панели «Свойства» для каждого действия, действие SetDataStoreValueAction, которое позволяет вам манипулировать значениями в вашем хранилище данных, и триггер DataStoreChangedTrigger, который срабатывает всякий раз, когда выбрано свойство внутри хранилища данных изменилось.

http://www.microsoft.com/expression/products/Blend_Features.aspx

Ура, Алекс

...