Добавление анимации в элемент управления (C#)
Кристиан Венц (Christian Wenz)
Элемент управления Анимация в наборе элементов управления ASP.NET AJAX — это не только элемент управления, но и целая платформа для добавления анимаций в элемент управления. В этом руководстве показано, как настроить такую анимацию.
Общие сведения
Элемент управления Анимация в наборе элементов управления ASP.NET AJAX — это не только элемент управления, но и целая платформа для добавления анимаций в элемент управления. В этом руководстве показано, как настроить такую анимацию.
Этапы
Первым шагом является включение ScriptManager
на страницу , чтобы загрузить библиотеку ASP.NET AJAX и использовать набор средств управления:
<asp:ScriptManager ID="asm" runat="server" />
Анимация в этом сценарии будет применена к панели текста, которая выглядит следующим образом:
<asp:Panel ID="panelShadow" runat="server" CssClass="panelClass">
ASP.NET AJAX is a free framework for quickly creating a new generation of more efficient,
more interactive and highly-personalized Web experiences that work across all the
most popular browsers.<br />
ASP.NET AJAX is a free framework for quickly creating a new generation of more efficient,
more interactive and highly-personalized Web experiences that work across all the
most popular browsers.<br />
ASP.NET AJAX is a free framework for quickly creating a new generation of more efficient,
more interactive and highly-personalized Web experiences that work across all the
most popular browsers.<br />
</asp:Panel>
Связанный класс CSS для панели определяет цвет фона и ширину:
<style type="text/css">
.panelClass {background-color: lime; width: 300px;}
</style>
Далее нам понадобится AnimationExtender
. После предоставления ID
и обычного runat="server"
атрибута TargetControlID
необходимо задать для элемента управления, чтобы анимировать в нашем случае панель:
<ajaxToolkit:AnimationExtender ID="ae" runat="server" TargetControlID="Panel1">
Вся анимация применяется декларативно с использованием синтаксиса XML, который, к сожалению, в настоящее время не полностью поддерживается IntelliSense в Visual Studio. Корневой узел находится <Animations>;
внутри этого узла, допускается несколько событий, которые определяют, когда происходит анимация:
OnClick
(щелчок мышью)OnHoverOut
(когда мышь покидает элемент управления)OnHoverOver
(при наведении указателя мыши на элемент управления и остановке анимацииOnHoverOut
)OnLoad
(при загрузке страницы)OnMouseOut
(когда мышь покидает элемент управления)OnMouseOver
(при наведении указателя мыши на элемент управления, а не при остановке анимацииOnMouseOut
)
Платформа поставляется с набором анимаций, каждая из которых представлена собственным XML-элементом. Вот выбор:
<Color>
(изменение цвета)<FadeIn>
(исчезает)<FadeOut>
(исчезает)<Property>
(изменение свойства элемента управления)<Pulse>
(пульсирующая)<Resize>
(изменение размера)<Scale>
(пропорциональное изменение размера)
В этом примере панель должна исчезать. Анимация должна занять 1,5 секунды (Duration
атрибут), отображая 24 кадра (шаги анимации) в секунду (Fps
атрибут). Ниже приведена полная разметка AnimationExtender
для элемента управления.
<ajaxToolkit:AnimationExtender ID="ae" runat="server" TargetControlID="Panel1">
<Animations>
<OnLoad>
<FadeOut Duration="1.5" Fps="24" />
</OnLoad>
</Animations>
</ajaxToolkit:AnimationExtender>
При выполнении этого скрипта панель отображается и исчезает через полтора секунды.
Панель исчезает (щелкните для просмотра полноразмерного изображения)