масштабная анимация для всплывающего окна wpf - PullRequest
0 голосов
/ 09 апреля 2010

У меня есть симпатичное маленькое всплывающее окно, когда оно показывает, мне нравится рост от 0 до 1x, но я не понимаю, когда я нажимаю несколько раз, похоже, что я "ловлю" анимацию в различные состояния во время «роста».

<Window.Triggers>

    <EventTrigger RoutedEvent="FrameworkElement.MouseRightButtonDown" 
                  >
        <EventTrigger.Actions>
            <BeginStoryboard>
                <Storyboard>
                    <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" 
                        Storyboard.TargetName="SimplePopup" 
                        Storyboard.TargetProperty="(FrameworkElement.LayoutTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)">
                        <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0"/>
                        <SplineDoubleKeyFrame KeyTime="00:00:00.3000000" Value="1"/>
                    </DoubleAnimationUsingKeyFrames>

                </Storyboard>
            </BeginStoryboard>
        </EventTrigger.Actions>
    </EventTrigger>

</Window.Triggers>

и всплывающее окно:

   <Popup Name="SimplePopup"
           AllowsTransparency="True" 
           StaysOpen="False">
        <Popup.LayoutTransform>
            <TransformGroup>
                <ScaleTransform ScaleX="1" ScaleY="1" />
                <SkewTransform AngleX="0" AngleY="0" />
                <RotateTransform Angle="0" />
                <TranslateTransform X="0" Y="0" />
            </TransformGroup>
        </Popup.LayoutTransform>
        <Border> some Content here
          </Border>
    </Popup>

Ответы [ 2 ]

0 голосов
/ 12 апреля 2010

путем "ловить" анимацию в различных состояниях во время "роста".

Я имею в виду, что анимации нет вообще, я вижу только статическое всплывающее окно. масштабируется в разных размерах, но не видимая анимация.

0 голосов
/ 09 апреля 2010

Я не уверен, что вы подразумеваете под

"ловит" анимацию в различных состояниях во время "роста".

Может быть, он не завершит анимацию, но перезапустится, когда вы нажмете до завершения раскадровки? Если это так, вам нужно предотвратить запуск анимации, запустив действие только тогда, когда оно не запущено. Я думаю, что это можно сделать с помощью более сложных вариантов поведения или триггеров, доступных в Blend.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...