Использование LengthAnimation для перемещения элемента

Предыдущий пример также может быть реализован декларативно. Как отмечалось ранее, чтобы гарантировать воспроизведение анимационного эффекта во всех броузерах, свойствам top и left должны присваиваться значения, содержащие единицы измерения. При использовании класса NumberAnimation это возможно только в случае создания своего собственного метода setValue().

Однако платформа ASP.NET AJAX предоставляет еще один класс – LengthAnimation, который способен решить эту задачу более непосредственным способом.

Этот класс похож на класс NumberAnimation, за исключением следующих двух отличий:
• Получаемое на каждом шаге значение всегда округляется.
• Значение свойства unit (по умолчанию "px") добавляется к числовому значению.

Таким образом, для организации перемещения элемента класс LengthAnimation выглядит «предпочтительнее», чем класс NumberAnimation из предыдущего примера. Хотя оба класса прекрасно справляются с задачей, и потому оба здесь приведены.

Тем не менее использование класса LengthAnimation для перемещения элемента Label имеет свои особенности. Свойства left и top являются частью стиля элемента, который напрямую не доступен, как обычные свойства.


Однако доступ к стилевой информации, а следовательно, и к этим двум значениям, может быть получен с помощью аспекта поведения .

Для организации перемещения элемента Label по странице добавьте аспект поведения к метке в xml?script и присвойте ему свой идентификатор:


Затем создайте элемент анимации, а лучше два, поскольку нам требуется изменять два стилевых свойства:
startValue="0" endValue="300" />
startValue="0" endValue="300" />

В разделе (application) необходимо запустить оба эффекта анимации. В примере 19.4 приводится получившийся код страницы.
Пример 19.4. Создание эффекта перемещения элемента с помощью xml-script LengthAnimation.aspx
<%@ Page Language="C#" %>
"http://www.w3.org/TR/xhtml1/DTD/xhtml1?transitional.dtd"> ASP.NET AJAX

(body)
(asp:ScriptManager runat="server" ID="ScriptManager1")

(asp:ScriptReference name="PreviewScript.js"
assembly="Microsoft.Web.Preview" /)
(asp:ScriptReference name="PreviewGlitz.js"
assembly="Microsoft.Web.Preview" /)

(/asp:ScriptManager)





(/body)
.



Оцените статью: (0 голосов)
0 5 0

Статьи из раздела ASP.NET AJAX на эту тему:
Группировка анимационных эффектов
Использование анимации для перемещения элемента
Использование анимации для создания эффекта плавного исчезновения
Использование анимационных эффектов