2012-10-02 2 views
0

J'essaye de créer ceci dans le code derrière. Mais il lance l'exception "Le paramètre est incorrect".Windows Phone - ObjectAnimationUsingKeyFrames dans le code derrière

<VisualState x:Name="FlipCard" > 
    <Storyboard > 
     <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="aceSpades"> 
      <DiscreteObjectKeyFrame KeyTime="0:0:1"> 
       <DiscreteObjectKeyFrame.Value> 
        <Visibility>Visible</Visibility> 
       </DiscreteObjectKeyFrame.Value> 
      </DiscreteObjectKeyFrame> 
     </ObjectAnimationUsingKeyFrames> 
    </Storyboard> 
</VisualState> 
code

derrière le code est:

VisualState vst = (VisualState)FindName("FlipCard"); 

ObjectAnimationUsingKeyFrames anim = new ObjectAnimationUsingKeyFrames(); 

DiscreteObjectKeyFrame obj = new DiscreteObjectKeyFrame(); 

obj.Value = Visibility.Visible; 
obj.KeyTime = TimeSpan.FromSeconds(1); 
anim.KeyFrames.Add(obj); 

Storyboard.SetTarget(anim, aceSpades.Projection); 
Storyboard.SetTargetProperty(anim, new PropertyPath(Image.VisibilityProperty)); 

vst.Storyboard.Children.Add(anim); 

VisualStateManager.GoToState(this, "FlipCard", true); 

Il lancer erreur dans le dernier code.

Répondre

2

J'ai changé

Storyboard.SetTarget(anim, aceSpades.Projection); 

à

Storyboard.SetTargetName(anim, "aceSpades"); 

Et cela a fonctionné.