Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > BeginStoryboard


Автор: WolfTheGrey 1.5.2011, 14:30
Есть событие-анимация. Где при срабатывании события MouseEnter должно число увеличиться с 0 до 300, а когда уберу мышку с формы, то число должно вернуться обратно.

Использую такой быдлокод анимации smile
Код

<Path.Resources>
                <Style TargetType="{x:Type Path}">
                    <Style.Triggers>
                        <EventTrigger RoutedEvent="Button.MouseEnter">
                            <EventTrigger.Actions>
                                <BeginStoryboard>
                                    <Storyboard>
                                        <DoubleAnimation  Storyboard.TargetProperty="{Binding ElementName=win, Path=Ticked, Mode=OneWayToSource}"
                                                         From="0" To="300" Duration="0:0:3"/>
                                    </Storyboard>
                                </BeginStoryboard>
                            </EventTrigger.Actions>
                        </EventTrigger>
                    </Style.Triggers>
                </Style>
            </Path.Resources>
            </Path>


вот сам код:
Код

public partial class MainWindow : Window
    {
        double ticked; 
        public double Ticked 
        {
            get { return ticked; }
            set
            {
                ticked = value;
                rect.Rect = new Rect(28, 10, Ticked, 60); //измененние вида контрола
                elips2.Center = new Point(30 + Ticked, 40);
            } 
        }
     }


Но что то у меня не сростается. Компилятор не может запустить проект, потому что там что то не правильно.

Добавлено @ 14:37
Дело в том, что контрол Path содержит много элементов, которые должны изменяться. И я думаю что проще их изменить в процедурном коде, чем расписывать XAML код для каждого параметра каждого элемента.

Автор: -Mikle- 3.5.2011, 06:56
Цитата(WolfTheGrey @  1.5.2011,  17:30 Найти цитируемый пост)
<Style TargetType="{x:Type Path}">
                    <Style.Triggers>
                        <EventTrigger RoutedEvent="Button.MouseEnter">
                            <EventTrigger.Actions>


"x:Type Path" и "Button.MouseEnter" кажется вот это не срастается. А вообще имей привычку копировать сообщение об ошибке сюда. Сверхдогадливых тут нет.

Автор: Kefir 3.5.2011, 15:37
Продолжая предположение -Mikle- логично было бы заменить буттон на уиэлемент.

Автор: WolfTheGrey 15.5.2011, 01:13
Благодарю за помошь, но не помогло.
Вот сама ошибка.
http://s2.ipicture.ru/

Автор: WolfTheGrey 15.5.2011, 01:42
Пытался перенести код анимации в ресурсы окна, в контрол Canvas. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)