2011-05-04 4 views
0

У меня есть кнопка управления, которую я пытаюсь создать, которая может быть в нескольких разных визуальных состояниях, каждое визуальное состояние имеет другой цвет, применяемый к ней, состояние prsesed», вот что у меня есть:пытается создать несколько визуальных групп в silverlight, получив «катастрофический сбой»

<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> 

ответ

2

в VisualStates не может иметь такое же имя, даже если они находятся в разных группах. Кроме того, лучше избегать анимации одного и того же свойства (Background) в нескольких визуальных группах состояний.

+0

oh right, но тогда как я могу контролировать цвета при выборе кнопок и т. Д.? Как если бы я установил «stategreen», как я могу убедиться, что кто-то нажал на кнопку, выбрано «выбранное» визуальное состояние для StateGreen? – tweetypi

+0

Привет, вы должны сделать это в по умолчанию нажатом состоянии. Вы можете создать два стиля кнопок. В нажатом состоянии установите фон кнопки на синий; в другом - зеленый. –

Смежные вопросы