|
WPF: Как запустить анимацию в ответ на изменение свойства зависимости?
|
|||
---|---|---|---|
#18+
Как запустить анимацию в ответ на изменение свойства зависимости? То есть я хочу так - в модели меняется свойство, источник может быть разный, в ответ представление запускает анимацию (которая акцентирует произошедшие изменения для пользователя, ну да это неважно) Пока только приходит в голову определять PropertyChangedCallback, в нем генерировать RoutedEvent, который будет отлавливаться триггером, запускающим анимацию. Это годится только для собственных свойств и несколько громоздко. Есть ли способ попроще? (запускать анимацию кодом не предлагать, само свойство не должно ничего знать об анимации) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 13:41 |
|
WPF: Как запустить анимацию в ответ на изменение свойства зависимости?
|
|||
---|---|---|---|
#18+
На всякий случай подчеркну - нужна реакция не на принятие свойством какого-то значения, что делает обычный триггер, а именно на факт любого изменения. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 13:44 |
|
WPF: Как запустить анимацию в ответ на изменение свойства зависимости?
|
|||
---|---|---|---|
#18+
В конечном итоге и в общем случае в WPF не хватает триггера, реагирующего на изменение значения. (интересно, а самому реально его написать, основываясь на TriggerBase?) А с точки зрения кода? Ведь управление свойствами зависимости централизовано. И если есть всякие CommandManager и EventManager, нет ли чего-то, что позволяет получить событие изменения какого-либо свойства зависимости на указанном объекте? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2016, 16:33 |
|
WPF: Как запустить анимацию в ответ на изменение свойства зависимости?
|
|||
---|---|---|---|
#18+
{Binding Path=Property1, NotifyOnSourceUpdated, NotifyOnTargetUpdated=True} Потом ловим эти события через EventTrigger'ы, профит. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2016, 16:45 |
|
WPF: Как запустить анимацию в ответ на изменение свойства зависимости?
|
|||
---|---|---|---|
#18+
Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2016, 16:46 |
|
WPF: Как запустить анимацию в ответ на изменение свойства зависимости?
|
|||
---|---|---|---|
#18+
О какая штука, спасибо, в моих учебниках не было. А что насчет кода? Единственный способ - переопределять DependencyObject.OnPropertyChanged, а как подписаться на обновление свойства не своего объекта? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2016, 17:01 |
|
WPF: Как запустить анимацию в ответ на изменение свойства зависимости?
|
|||
---|---|---|---|
#18+
Shocker.ProО какая штука, спасибо, в моих учебниках не было. А что насчет кода? Единственный способ - переопределять DependencyObject.OnPropertyChanged, а как подписаться на обновление свойства не своего объекта? не в коем случаи не подписывайся на события ViewModel из View =) 18492657 вот еще пример :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2016, 17:29 |
|
|
start [/forum/topic.php?fid=21&gotonew=1&tid=1440696]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
151ms |
get topic data: |
10ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 260ms |
total: | 503ms |
0 / 0 |