Condividi tramite


Attivazione di un'animazione in un altro controllo (VB)

di Christian Wenz

Scaricare il PDF

Il controllo Animation nel ASP.NET AJAX Control Toolkit non è solo un controllo, ma un intero framework per aggiungere animazioni a un controllo. In genere, l'avvio di un'animazione viene attivato dall'interazione dell'utente con lo stesso controllo. È tuttavia anche possibile interagire con un controllo e quindi animare un altro controllo.

Informazioni generali

Il controllo Animation nel ASP.NET AJAX Control Toolkit non è solo un controllo, ma un intero framework per aggiungere animazioni a un controllo. In genere, l'avvio di un'animazione viene attivato dall'interazione dell'utente con lo stesso controllo. È tuttavia anche possibile interagire con un controllo e quindi animare un altro controllo.

Gradi

Prima di tutto, includere ScriptManager nella pagina; quindi, la libreria ASP.NET AJAX viene caricata, rendendo possibile l'uso del Control Toolkit.

<asp:ScriptManager ID="asm" runat="server" />

L'animazione verrà applicata a un pannello di testo simile al seguente:

<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>

Nella classe CSS associata per il pannello definire un colore di sfondo bello e impostare anche una larghezza fissa per il pannello:

<style type="text/css">
 .panelClass {background-color: lime; width: 300px;}
</style>

Per avviare l'animazione del pannello, viene usato un pulsante HTML. Si noti che <input type="button" /> è favorito rispetto <asp:Button /> a poiché non si vuole un postback quando l'utente fa clic su tale pulsante.

<input type="button" id="Button1" runat="server" Value="Launch Animation" />

Aggiungere quindi il AnimationExtender alla pagina, specificando un ID, l'attributo TargetControlID e l'obbligatorio runat="server". È importante impostare TargetControlID sull'ID del pulsante (l'elemento che attiva l'animazione), non sull'ID del pannello (l'elemento animato)

<ajaxToolkit:AnimationExtender ID="ae" runat="server" TargetControlID="Button1">

All'interno del <Animations> nodo posizionare le animazioni come di consueto. Per farli modificare il pannello, non il pulsante, impostare l'attributo AnimationTarget per ogni elemento di animazione all'interno di AnimationExtender. Il valore per AnimationTarget è ovviamente l'ID del pannello. In questo modo, le animazioni avvengono con il pannello, non con il pulsante di attivazione. Ecco il AnimationExtender markup per questo scenario:

<ajaxToolkit:AnimationExtender ID="ae" runat="server" TargetControlID="Panel1">
 <Animations>
 <OnClick>
 <Sequence>
 <EnableAction Enabled="false" />
 <Parallel>
 <FadeOut Duration="1.5" Fps="24" AnimationTarget="Panel1" />
 <Resize Width="1000" Height="150" Unit="px" 
 AnimationTarget="Panel1" />
 </Parallel>
 </Sequence>
 </OnClick>
 </Animations>
</ajaxToolkit:AnimationExtender>

Prendere nota dell'ordine speciale in cui vengono visualizzate le singole animazioni. Prima di tutto, il pulsante viene disattivato dopo l'esecuzione dell'animazione. Poiché nell'elemento AnimationTarget non è presente alcun <EnableAction> attributo, questa animazione viene applicata al controllo di origine: il pulsante. I due passaggi successivi dell'animazione devono essere eseguiti in parallelo (<Parallel> elemento). Entrambi i loro AnimationTarget attributi sono impostati su "Panel1", in modo da animare il pannello e non il pulsante.

Un clic del mouse sul pulsante avvia l'animazione del pannello

Un clic del mouse sul pulsante avvia l'animazione del pannello (fare clic per visualizzare l'immagine a dimensione intera)