コントロールにアニメーションを追加する (C#)
作成者: Christian Wenz
ASP.NET AJAX Control Toolkit のアニメーション コントロールは、単なるコントロールではなく、コントロールにアニメーションを追加するためのフレームワーク全体です。 このチュートリアルでは、そのようなアニメーションを設定する方法について説明します。
概要
ASP.NET AJAX Control Toolkit のアニメーション コントロールは、単なるコントロールではなく、コントロールにアニメーションを追加するためのフレームワーク全体です。 このチュートリアルでは、そのようなアニメーションを設定する方法について説明します。
手順
最初のステップは、通常どおり、ページに ScriptManager
を含めることです。これにより、ASP.NET AJAX ライブラリが読み込まれ、Control Toolkit が使用できるようになります。
<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 構文を使って宣言によって適用されますが、残念ながら、現時点では Visual Studio の IntelliSense では完全にはサポートされていません。 ルート ノードはこのノード内の <Animations>;
であり、アニメーションを実行するタイミングを決定するいくつかのイベントが許可されています。
OnClick
(マウス クリック)OnHoverOut
(マウスがコントロールから離れたとき)OnHoverOver
(マウスがコントロールをポイントしたとき、OnHoverOut
アニメーションを停止する)OnLoad
(ページが読み込まれたとき)OnMouseOut
(マウスがコントロールから離れたとき)OnMouseOver
(マウスがコントロールをポイントしたとき、OnMouseOut
アニメーションを停止しない)
フレームワークには一連のアニメーションが付属しており、それぞれ独自の XML 要素で表されます。 以下を選択できます。
<Color>
(色の変更)<FadeIn>
(フェードイン)<FadeOut>
(フェードアウト)<Property>
(コントロールのプロパティの変更)<Pulse>
(脈動)<Resize>
(サイズの変更)<Scale>
(サイズを比例的に変更)
この例では、パネルをフェードアウトします。アニメーションには 1.5 秒かかり (Duration
属性)、1 秒間に 24 フレーム (アニメーション ステップ) 表示します (Fps
属性)。 AnimationExtender
コントロールの完全なマークアップを次に示します。
<ajaxToolkit:AnimationExtender ID="ae" runat="server" TargetControlID="Panel1">
<Animations>
<OnLoad>
<FadeOut Duration="1.5" Fps="24" />
</OnLoad>
</Animations>
</ajaxToolkit:AnimationExtender>
このスクリプトを実行すると、パネルが表示され、1 秒半でフェードアウトします。
パネルがフェードアウトしています (クリックすると全画面の画像が表示されます)