Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как плавно анимировать положение LayoutRoot? 
:(
    Опции темы
Dims
Дата 25.1.2011, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

Репутация: нет
Всего: 11



Хотел, чтобы у меня плавно сдвинулось влево всё содержимое окна, сделал как обычно в Expression Blend визуальными средствами, получилось вот что:

Код

                 <Storyboard x:Name="ShiftLeft">
            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" Storyboard.TargetName="LayoutRoot">
                <DiscreteObjectKeyFrame KeyTime="0:0:2">
                    <DiscreteObjectKeyFrame.Value>
                        <Thickness>-240,-240,0,0</Thickness>
                    </DiscreteObjectKeyFrame.Value>
                </DiscreteObjectKeyFrame>
            </ObjectAnimationUsingKeyFrames>
        </Storyboard>


то есть, скачкообразное изменение свойств.

Как переделать на плавное?
PM MAIL   Вверх
vikaz
Дата 25.1.2011, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: 1
Всего: 12



У меня в ExBlend получилось вот так!
Код

<Storyboard x:Key="OnLoaded1">
            <ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" Storyboard.TargetName="LayoutRoot">
                <EasingThicknessKeyFrame KeyTime="0" Value="0"/>
                <EasingThicknessKeyFrame KeyTime="0:0:2" Value="-335,0,335,0"/>
            </ThicknessAnimationUsingKeyFrames>
        </Storyboard>


Это сообщение отредактировал(а) vikaz - 25.1.2011, 20:30


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
Dims
Дата 26.1.2011, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

Репутация: нет
Всего: 11



У меня такое вообще не работает, говорит

ThicknessAnimationUsingKeyFrames does not exist in the namespace "http://schemas.microsoft.com/client/2007
PM MAIL   Вверх
vikaz
Дата 26.1.2011, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: 1
Всего: 12



Все может быть, так как у меня Expression Blend 4. Вкратце, у Вас возникла такая проблема из-за того, что Вы не зафиксировали первое значение, которое является нулевым. Но даже добавив нудевое значение к Вашему коду, он так и изменял значения скачкообразно. А у Вас какой Expression Blend ?

ЗЫ. ThicknessAnimationUsingKeyFrames - берет начало от .NET 3.0. Так что странно, что у Вас возникла ошибка.....

Это сообщение отредактировал(а) vikaz - 26.1.2011, 20:27


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
Dims
Дата 26.1.2011, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

Репутация: нет
Всего: 11



У меня тоже 4-й. Мож какой референс нужен?

Добавлено через 5 минут и 25 секунд
System.Windows.Media.Animation не могу найти в референсах, не могу добавить. Может, потому что отфильтровано для Силверлайт 4?
PM MAIL   Вверх
vikaz
Дата 26.1.2011, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: 1
Всего: 12



Цитата(Dims @  26.1.2011,  23:36 Найти цитируемый пост)

System.Windows.Media.Animation не могу найти в референсах, не могу добавить. Может, потому что отфильтровано для Силверлайт 4? 

Конечно! Silverlight ничего не знает о ThicknessAnimationUsingKeyFrames.  smile

Добавлено через 39 секунд
ЗЫ. О том, под что пишите, надо говорить в самом начале. Не было бы таких долгих разбирательств! smile


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
Dims
Дата 27.1.2011, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

Репутация: нет
Всего: 11



Окей, я просто не подумал, что Expression Blend позволяет писать и под WPF...

Так вопрос остаётся....

Добавлено через 1 минуту и 7 секунд
Можно ли LayoutRoot передвинуть по тому же принципу, что и любой объект?

Добавлено через 9 минут и 12 секунд
Видимо, можно...
PM MAIL   Вверх
Dims
Дата 28.1.2011, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

Репутация: нет
Всего: 11



Можно, но работает плохо -- есть немотивированное поведение.
PM MAIL   Вверх
exBlender
Дата 28.1.2011, 20:00 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 2.10.2009

Репутация: 9
Всего: 9



А зачем двигать именно LayoutRoot? В него можно поместить любой лейаут-контейнер с контентом и двигать этот контейнер.
--------------------
HTML и CSS забыв как страшный сон, хвалу я заммэлу пою и фирме Майкрософт.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0448 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.