Question

Je voudrais passer mes storyboards dans un fichier ResourceDictionary et je ne parviens pas à le faire. Je l'ai cherché partout et il implique qu'il faut faire la partageable, mais « ressources » comment puis-je faire dans silverlight quand il n'y a pas x: attribut partagé. Voici le code

 <Storyboard x:Key="GreenButtonLight"  >
        <ColorAnimationUsingKeyFrames BeginTime="00:00:00"
                                      Storyboard.TargetName="GreenBelow"
                                      Storyboard.TargetProperty="(Shape.Fill).(GradientBrush.GradientStops)[0].(GradientStop.Color)">
            <SplineColorKeyFrame KeyTime="00:00:00"
                                 Value="#FF75F45D" />
            <SplineColorKeyFrame KeyTime="00:00:00.1000000"
                                 Value="#FFA5F796" />
            <SplineColorKeyFrame KeySpline="1,0,1,0.06"
                                 KeyTime="00:00:00.5000000"
                                 Value="#FF75F45D" />
        </ColorAnimationUsingKeyFrames>
</Storyboard>

Voici ce que j'ai en XAML

<Grid.Resources>
   <ResourceDictionary>
     <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="Resources/ViewResources.xaml" />
        </ResourceDictionary.MergedDictionaries>
            </ResourceDictionary>
        </Grid.Resources>

et est ici l'erreur que je reçois

Erreur: élément est déjà l'enfant d'un autre élément.

Il me donne seulement cette erreur quand je mets dans storyboards, rien d'autre (ex: Styles). J'utilise Silverlight 3 et non WPF.

Était-ce utile?

La solution

Vous ne pouvez pas placer un story-board dans une ressource parce que son objet stateful. Il sait si elle a commencé à animer, où il est dans la chronologie, etc. également ses animations enfants acquièrent une des références aux objets et propriétés qu'ils animez.

Typiquement, on place storyboards pour être réutilisés dans le VisualStateManager d'un élément de modèle de commande.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top