Dodawanie animacji do kontrolki (C#)
Autor: Christian Wenz
Kontrolka Animacja w zestawie narzędzi ASP.NET AJAX Control Toolkit nie tylko jest kontrolką, ale całą strukturą do dodawania animacji do kontrolki. W tym samouczku pokazano, jak skonfigurować taką animację.
Omówienie
Kontrolka Animacja w zestawie narzędzi ASP.NET AJAX Control Toolkit nie tylko jest kontrolką, ale całą strukturą do dodawania animacji do kontrolki. W tym samouczku pokazano, jak skonfigurować taką animację.
Kroki
Pierwszym krokiem jest jak zwykle dołączenie ScriptManager
elementu na stronie, tak aby biblioteka ASP.NET AJAX była ładowana i można użyć zestawu narzędzi Control Toolkit:
<asp:ScriptManager ID="asm" runat="server" />
Animacja w tym scenariuszu zostanie zastosowana do panelu tekstu, który wygląda następująco:
<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>
Skojarzona klasa CSS panelu definiuje kolor tła i szerokość:
<style type="text/css">
.panelClass {background-color: lime; width: 300px;}
</style>
Następnie potrzebujemy elementu AnimationExtender
. Po podaniu ID
elementu i zwykłego runat="server"
atrybut musi być ustawiony na kontrolkę, TargetControlID
aby animować w naszym przypadku, panel:
<ajaxToolkit:AnimationExtender ID="ae" runat="server" TargetControlID="Panel1">
Cała animacja jest stosowana deklaratywnie przy użyciu składni XML, niestety obecnie nie jest w pełni obsługiwana przez funkcję IntelliSense programu Visual Studio. Węzeł główny znajduje się <Animations>;
w tym węźle. Dozwolone są kilka zdarzeń, które określają, kiedy animacje mają miejsce:
OnClick
(kliknięcie myszą)OnHoverOut
(gdy mysz opuszcza kontrolkę)OnHoverOver
(po umieszczeniu wskaźnika myszy nad kontrolką zatrzymanieOnHoverOut
animacji)OnLoad
(po załadowaniu strony)OnMouseOut
(gdy mysz opuszcza kontrolkę)OnMouseOver
(gdy wskaźnik myszy najecha kursorem na kontrolkęOnMouseOut
, nie zatrzymuje animacji)
Struktura zawiera zestaw animacji, z których każdy jest reprezentowany przez własny element XML. Oto wybór:
<Color>
(zmiana koloru)<FadeIn>
(zanikanie w)<FadeOut>
(zanikanie)<Property>
(zmiana właściwości kontrolki)<Pulse>
(pulsujące)<Resize>
(zmiana rozmiaru)<Scale>
(proporcjonalnie zmieniając rozmiar)
W tym przykładzie panel zanika. Animacja trwa 1,5 sekund (Duration
atrybut), wyświetlając 24 ramki (kroki animacji) na sekundę (Fps
atrybut). Oto kompletny znacznik dla kontrolki AnimationExtender
:
<ajaxToolkit:AnimationExtender ID="ae" runat="server" TargetControlID="Panel1">
<Animations>
<OnLoad>
<FadeOut Duration="1.5" Fps="24" />
</OnLoad>
</Animations>
</ajaxToolkit:AnimationExtender>
Po uruchomieniu tego skryptu zostanie wyświetlony panel i wygaśnie w ciągu pół sekundy.
Panel jest zanikający (kliknij, aby wyświetlić obraz pełnowymiarowy)