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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с анимацией, создаваемой динамически 
:(
    Опции темы
San4o_Pan4o
Дата 6.9.2009, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Приветствую! Собственно, вот какая проблема. Есть данные, по которым я хочу строить нечто вроде примитивной диаграммы, но чтобы каждый столбик анимированно вырастал. Код у меня следующий:
Код

foreach (SummaryData data in res)
                {
                    NameScope.SetNameScope(graph_canvas, new NameScope());

                    Rectangle rect1 = new Rectangle();
                    rect1.VerticalAlignment = VerticalAlignment.Bottom;
                    rect1.Name = "rect1";
                    rect1.Width = 30.0;
                    //rect1.Height = data.part * 5;
                    rect1.Margin = new Thickness(2, 0, 2, 0);
                    rect1.ToolTip = data.comment;
                    rect1.Fill = data.color;
                    
                    Storyboard sb = new Storyboard();
                    DoubleAnimationUsingKeyFrames dauk = new DoubleAnimationUsingKeyFrames();
                    dauk.BeginTime = new TimeSpan(0);
                    dauk.SetValue(Storyboard.TargetNameProperty, "rect1");
                    dauk.SetValue(Storyboard.TargetPropertyProperty, new PropertyPath("Height"));
                    SplineDoubleKeyFrame spdk = new SplineDoubleKeyFrame();
                    spdk.KeyTime = TimeSpan.FromSeconds(0.5);
                    spdk.Value = 150;//data.part * 5;
                    dauk.KeyFrames.Add(spdk);
                    sb.Children.Add(dauk);
                    graph_canvas.RegisterName(rect1.Name, rect1);

                    
                    graph_canvas.Children.Add(rect1);
                    sb.Begin(graph_canvas);
                }


В результате его выполнения появляются все столбики вместе с задержкой на то время, сколько указываю в анимации. Ясно, что я что-то не так делаю, но что именно - не понимаю. Прошу советаsmile

Это сообщение отредактировал(а) San4o_Pan4o - 6.9.2009, 13:57
PM MAIL   Вверх
San4o_Pan4o
Дата 12.9.2009, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



неужели никто не поможет?.. :(
PM MAIL   Вверх
rooks
Дата 12.9.2009, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Наверное стоит использовать RectAnimationUsingKeyFrames вместо DoubleAnimationUsingKeyFrames. В неинтернетном MSDN как раз есть пример такой анимации в коде.
PM MAIL ICQ   Вверх
San4o_Pan4o
Дата 13.9.2009, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



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


 




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


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

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