Windows Phone 8.1 - Animacja rotacja obrazka

Odpowiedz Nowy wątek
2015-07-15 18:35

Rejestracja: 5 lat temu

Ostatnio: 2 lata temu

Lokalizacja: Kraków

0

Witam
Chciałbym stworzyć animacje w której obrazek jest cały czas obracany o 360 stopni.

<Storyboard x:Name="ImageLoop">
                    <DoubleAnimation
                        Storyboard.TargetName="Image"
                        Storyboard.TargetProperty=""
                        From="0"
                        To="360"
                        Duration="0:0:8"
                        RepeatBehavior="Forever"/>
                </Storyboard> 

Problem w tym że nie wiem jak to zrobić. Ma ktoś jakiś pomysł?
Pozdrawiam :)

Pozostało 580 znaków

2015-07-16 14:36
Moderator

Rejestracja: 17 lat temu

Ostatnio: 7 godzin temu

Storyboard:

    <Page.Resources>
        <Storyboard x:Name="Storyboard1">
            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.Rotation)" Storyboard.TargetName="button" RepeatBehavior="Forever">
                <EasingDoubleKeyFrame KeyTime="0" Value="0"/>
                <EasingDoubleKeyFrame KeyTime="0:0:8" Value="360"/>
            </DoubleAnimationUsingKeyFrames>
        </Storyboard>
    </Page.Resources>

Musisz tylko zmienić TargetName odpowiednio do swoich potrzeb.

Do tego możesz do swojej strony dorzucić jeszcze ControlStoryBoardBehavior, aby się automatycznie uruchamiał po załadowaniu strony aplikacji:

        <Interactivity:Interaction.Behaviors>
            <Core:EventTriggerBehavior>
                <Media:ControlStoryboardAction Storyboard="{StaticResource Storyboard1}"/>
            </Core:EventTriggerBehavior>
        </Interactivity:Interaction.Behaviors>        

A sam element animowany dobrze jeżeli będzie miał ustawione odpowiednio RenderTransformOrigin, na przykład:

        <Button x:Name="button" Content="Hello" RenderTransformOrigin="0.5,0.5" >
            <Button.RenderTransform>
                <CompositeTransform/>
            </Button.RenderTransform>
        </Button>

Robione w oparciu o WinPRT, ale dla Silverlight będzie zapewne tak samo. Dla Interactivity, Core i Media dodaj sobie do sekcji xmlns swojej strony:

xmlns:Interactivity="using:Microsoft.Xaml.Interactivity" xmlns:Core="using:Microsoft.Xaml.Interactions.Core" xmlns:Media="using:Microsoft.Xaml.Interactions.Media"
edytowany 1x, ostatnio: Ktos, 2015-07-16 14:37

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0