2011-05-04 2 views
0

J'ai un contrôle de bouton que j'essaye de créer qui peut être dans plusieurs états visuels différents, chaque état visuel a une couleur différente appliquée quand dans un ' état « prsesed, voici ce que j'ai:essayer de créer plusieurs groupes de visualisation dans Silverlight, obtenant «échec catastrophique»

<vsm:VisualStateManager.VisualStateGroups> 
<vsm:VisualStateGroup x:Name="StateBlue"> 
           <vsm:VisualState x:Name="Selected"> 
            <Storyboard> 
             <ColorAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetProperty="(UIElement.Background)"> 
              <SplineColorKeyFrame KeyTime="00:00:00" Value="Blue"/> 
             </ColorAnimationUsingKeyFrames> 
            </Storyboard> 
           </vsm:VisualState> 

<vsm:VisualStateGroup x:Name="StateGreen"> 
           <vsm:VisualState x:Name="Selected"> 
            <Storyboard> 
             <ColorAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetProperty="(UIElement.Background)"> 
              <SplineColorKeyFrame KeyTime="00:00:00" Value="Green"/> 
             </ColorAnimationUsingKeyFrames> 
            </Storyboard> 
           </vsm:VisualState> 
</vsm:VisualStateGroup> 

Répondre

2

les VisualStates ne peuvent pas avoir le même nom même si elles sont dans des groupes différents. De même, évitez d'animer la même propriété (Background) dans plusieurs groupes d'états visuels.

+0

ah oui, mais alors comment puis-je contrôler les couleurs pour quand les boutons sont sélectionnés et autres? Comme si je définissais 'stategreen', comment puis-je m'assurer que si quelqu'un appuie sur le bouton, l'état visuel 'sélectionné' pour StateGreen est sélectionné? – tweetypi

+0

Salut, vous devriez le faire dans les boutons par défaut Etat pressé. Vous pouvez créer deux styles de bouton. Dans l'état pressé, réglez l'arrière-plan du bouton sur bleu; dans l'autre, mis à vert. –

Questions connexes