locked
Animação Feita no Blend não inicia na Pagina RRS feed

  • Pergunta

  • Segui os passos corretamente para fazer uma animação de um retargulo qualquer... usei o StoryBoard para fazer a animação, no Blend 3...
    Quando preciona Play no StoryBoard a animação funciona normalmente... Mas quando aperto F5 para rodar ela no navegador nem ta dando inicio a animacao, os objetos ficam parados...
    Tenho que fazer algum comando para fazer para ela iniciar sozinha?
    • Editado Ricardo Duk sábado, 24 de outubro de 2009 06:03 Topico com nome errado
    sexta-feira, 23 de outubro de 2009 19:38

Respostas

  • Olá amigo!  

    Para alguns eventos é necessário a codificação code - behind, dizendo que estamos iniciando a animação:

    public Page() { // Constructor for "code-behind"
     // Required to initialize variables
     InitializeComponent();
     this.animationTimer.Completed += 
      new EventHandler(animationTimer_Completed);
    }
    
    void animationTimer_Completed(object sender, EventArgs e) {
     [ Do a frame of animation ]
     this.animationTimer.Begin();
    }
    

    Verifique este ponto.

    att;


    Eder Costa
    LATAM Forum Support Engineer
    Microsoft Corporation
    forumguys
    quinta-feira, 12 de maio de 2011 20:31
    Moderador

Todas as Respostas

  • Vou colocar o codigo que o blend gerou para melhor entendimento, valeu

    <UserControl
    	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    	x:Class="SilverlightApplication1.MainPage"
    	Width="640" Height="480">
    	<UserControl.Resources>
    		<Storyboard x:Name="Storyboard1">
    			<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="rectangle" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)">
    				<EasingDoubleKeyFrame KeyTime="00:00:03.0200000" Value="392"/>
    				<EasingDoubleKeyFrame KeyTime="00:00:05.9800000" Value="32"/>
    				<EasingDoubleKeyFrame KeyTime="00:00:09" Value="385"/>
    				<EasingDoubleKeyFrame KeyTime="00:00:12" Value="0"/>
    			</DoubleAnimationUsingKeyFrames>
    			<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="rectangle" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)">
    				<EasingDoubleKeyFrame KeyTime="00:00:03.0200000" Value="223"/>
    				<EasingDoubleKeyFrame KeyTime="00:00:05.9800000" Value="222"/>
    				<EasingDoubleKeyFrame KeyTime="00:00:09" Value="68"/>
    				<EasingDoubleKeyFrame KeyTime="00:00:12" Value="69"/>
    			</DoubleAnimationUsingKeyFrames>
    		</Storyboard>
    	</UserControl.Resources>
    
    	<Grid x:Name="LayoutRoot" Background="White">
    		<Rectangle x:Name="rectangle" Fill="White" Stroke="Black" Height="121" HorizontalAlignment="Left" Margin="29,100,0,0" VerticalAlignment="Top" Width="151" RenderTransformOrigin="0.5,0.5">
    			<Rectangle.RenderTransform>
    				<TransformGroup>
    					<ScaleTransform/>
    					<SkewTransform/>
    					<RotateTransform/>
    					<TranslateTransform/>
    				</TransformGroup>
    			</Rectangle.RenderTransform>
    		</Rectangle>
    	</Grid>
    </UserControl>
    sexta-feira, 23 de outubro de 2009 21:37
  • Olá amigo!  

    Para alguns eventos é necessário a codificação code - behind, dizendo que estamos iniciando a animação:

    public Page() { // Constructor for "code-behind"
     // Required to initialize variables
     InitializeComponent();
     this.animationTimer.Completed += 
      new EventHandler(animationTimer_Completed);
    }
    
    void animationTimer_Completed(object sender, EventArgs e) {
     [ Do a frame of animation ]
     this.animationTimer.Begin();
    }
    

    Verifique este ponto.

    att;


    Eder Costa
    LATAM Forum Support Engineer
    Microsoft Corporation
    forumguys
    quinta-feira, 12 de maio de 2011 20:31
    Moderador