«WPF» создает раскадровку из blend (xaml) и меняет имя цели на c # - PullRequest
0 голосов
/ 28 марта 2011

мне нужно знать, как динамически менять имя цели с помощью той же анимации

Пожалуйста, найдите ниже мой код WPF для xaml и c # code

код xaml

<Storyboard x:Key="deepanshu"> 
    <DoubleAnimationUsingKeyFrames x:Name="gupta" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="image1"> 
        <EasingDoubleKeyFrame KeyTime="0:0:0.3" Value="0.641"/> 
        <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="1"/>
    </DoubleAnimationUsingKeyFrames> 
    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="image1">     
        <EasingDoubleKeyFrame KeyTime="0:0:0.3" Value="0.689"/> 
        <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="1"/> 
    </DoubleAnimationUsingKeyFrames>
    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)" Storyboard.TargetName="image1">
        <EasingDoubleKeyFrame KeyTime="0:0:0.3" Value="-1"/> 
        <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="0"/>
    </DoubleAnimationUsingKeyFrames> 
    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)" Storyboard.TargetName="image1"> 
        <EasingDoubleKeyFrame KeyTime="0:0:0.3" Value="0.5"/> 
        <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="0"/>
    </DoubleAnimationUsingKeyFrames>
</Storyboard>

c # код

Storyboard sb = (Storyboard)FindResource("deepanshu"); 
// now how to change storyboard target name from image1 to image2

Ответы [ 2 ]

2 голосов
/ 28 марта 2011

Что-то вроде SetTarget: http://msdn.microsoft.com/en-us/library/cc663141.aspx:

Storyboard.SetTargetName(sb.Children[0],"image2");
0 голосов
/ 04 августа 2012

Это поможет вам хорошо.

Storyboard sb = (Storyboard)FindResource("deepanshu"); 
Storyboard.SetTargetName(sb.Children[0],"image2");
Storyboard.SetTargetName(sb.Children[1],"image2");
Storyboard.SetTargetName(sb.Children[2],"image2");
sb.Begin();
...