У меня есть пользовательский элемент управления WPF с двумя визуальными состояниями - Включено & Отключено. В отключенном состоянии имеется простая анимация перехода, которая отключает элемент управления, а затем исчезает после небольшой задержки. Затем у меня есть обратная сторона анимации, где она исчезает в элементе управления и повторно включает ее (без задержки) при переходе в состояние Enabled.Обратное преобразование визуального состояния wpf
Проблема заключается в том, что если я изменил состояние с отключенного, а затем снова включился, чтобы снова включить его, прежде чем он начнет исчезать, мне все равно придется ждать анимации постепенного изменения, прежде чем он снова включит элемент управления, где на самом деле он мог бы сразу включить контроль сразу и избежать частичного затухания.
Каков правильный путь для исправления этого? Мне нужно установить начальную точку раскадровки перехода «Включено» на основе текущего времени в раскадровке «Отключено» (минус начальная задержка).
Другой способ, я думаю, состоит в том, чтобы иметь два состояния, говорящих, что «Отключено» и одно высказывание исчезло. Как только анимация состояния отключена, если можно было изменить визуальные состояния из раскадровки, я мог бы войти в состояние Faded после завершения завершившейся раскадровки. Тогда у меня могут быть разные переходы, определенные от Disabled to Enabled и Faded to Enabled.
Возможно ли это?
Спасибо!
В моей раскадровке есть несколько шагов, чтобы перейти от отключенного к разрешенному состоянию. Но, на ваш взгляд, в простой анимации, например, просто изменяя непрозрачность, вы можете получить _close_ к поведению, которое мы хотим, не установив свойство From. Но есть еще недостаток - анимация занимает столько же времени, сколько и будет, независимо от того, начинается ли она с непрозрачности 0 или 50%. Это означает, что замирание кажется медленным, и задержка становится раздражающей. – Mark
Я пытаюсь вернуть затухание на половину времени, если затухание разрешено выполнять только на половину обычной продолжительности. Да, в случае, если вам интересно, я перфекционист. – Mark
звучит так, как вам нужно будет установить свойство SpeedRatio, исходя из того, как далеко должна пройти анимация. – dtm