Попин (скользящий вниз) эффект на лету (C #) в серебряном свете - PullRequest
0 голосов
/ 25 февраля 2012

как получить эффект попина в silverlight на лету (в c #, а не в XAML).под эффектом эффекта попина я имею в виду:

Предположим, у меня есть два контейнера (контейнер может быть сеткой, панелью и т. д.), выровненных по вертикали, и кнопка вверху.При нажатии на кнопку другой контейнер появится (который до сих пор был невидим) из верхнего контейнера и будет медленно скользить вниз по уже существующему нижнему контейнеру.

Мне нужен синтаксис кода, а не какой-либо уже существующий пользовательский или стандартный компонент для этого.

Спасибо ...

1 Ответ

0 голосов
/ 26 февраля 2012

Сценарий, который вы описали, выглядит как задание для «поведения DataState». Я обычно создаю 2 «Состояния» в «Состояниях по умолчанию», таких как: NormalState (состояние «по умолчанию») и «WorkingState» (включая значок «Занят» и немного исчезающий экран), или даже использую FluidMove или Styoryline как в вашем примере. Затем создайте простое свойство public bool IsWorking {get;set;} и прикрепите поведение DateState к его логическому ответу. Так что в случае, когда IsWorking 'true', покажите / запустите 'WorkingState', а в случае 'false' покажите 'NormalState'. Это очень легко установить автоматически в GUI / Blend. Он следует принципам шаблона MVVM и может быть проверен. Механизм изменения состояния имеет свойство TransitState - большинство из них встроенные, но очень гибкие. Вы можете создать StoryLine в качестве начальной точки «WorkingState» и переместить туда компоненты (это другое состояние, поэтому вы можете установить «Visible» и другие свойства, не изменяя его глобально или не управляя состоянием в логике кода). Вы также можете создать независимую Storyline и запустить ее для некоторого события, возникающего из кода, но опять же - предпочтительный способ использовать поведение DateState.

...