1

я написал простой шаблон в XAML для баяна с. (Для серебряного света 4)
So when I try use "ControlTemplate.Triggers", I found that is impossible in silver-light, and we must use Visual-State in Silver-Light
поэтому я написал первый ControlTemplate с визуальный_режимом государством, но она не работает нормально. (Вот код)Визуальное состояние в SilverLight? (Как мы используем это)

<Style x:Key="NextButtonStyle" TargetType="Button"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate> 
        <Grid x:Name="MainGrid"> 
         <Border x:Name="MainBorder" 
           BorderThickness="2" 
           BorderBrush="#FFC0C0C0" 
           Background="Bisque" 
           CornerRadius="4 4 4 4" > 
          <TextBlock x:Name="lbl" 
             VerticalAlignment="Center" 
             HorizontalAlignment="Center" 
             Text=">" 
             Foreground="#FFC0C0C0" 
             FontWeight="Bold" 
             FontFamily="TimesNewRoman" 
             FontSize="15"/> 
         </Border> 
         <vsm:VisualStateManager.VisualStateGroups> 
          <vsm:VisualStateGroup x:Name="CommonStates"> 
           <vsm:VisualState x:Name="MouseOver"> 
            <Storyboard> 
             <ColorAnimationUsingKeyFrames AutoReverse="False" Duration="00:00:00.2" 
                     Storyboard.TargetName="MainBorder" 
                     Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color}"> 
              <SplineColorKeyFrame KeyTime="00:00:00" Value="#FF606060"/> 
             </ColorAnimationUsingKeyFrames> 
             <ColorAnimationUsingKeyFrames AutoReverse="False" Duration="00:00:00.2" 
                     Storyboard.TargetName="lbl" 
                     Storyboard.TargetProperty="(TextBlock.Foreground).(SolidColorBrush.Color}"> 
              <SplineColorKeyFrame KeyTime="00:00:00" Value="#FF606060"/> 
             </ColorAnimationUsingKeyFrames> 
            </Storyboard> 
           </vsm:VisualState> 

          </vsm:VisualStateGroup> 
         </vsm:VisualStateManager.VisualStateGroups> 
        </Grid> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 

Когда я использую этот стиль и перейти эту границу этой границы, обе границы и textbloc стал невидимым. так
1) Что мне делать?
2) и есть ли хорошие примеры для визуального состояния

+0

У меня не получилось, вы сталкиваетесь с какой-либо проблемой в созданной вами тембр/стиле? – Malcolm

+0

Теперь я просто создаю visusal-state с Blend 3. Для этого u должен знать, как использовать Blend. поэтому это хороший пример для обучения смеси 3 и визуального состояния: http://electricbeach.org/?p=350 – Rev

ответ

0

Из-за двух простых ошибок u r style не работал, иначе все правильно.

1) Storyboard.TargetProperty = "(Border.BorderBrush) (SolidColorBrush.Color }

Это будет:. Storyboard.TargetProperty =" (Border.BorderBrush). (SolidColorBrush.Color )

2) То же самое относится и к TextBlock: Storyboard.TargetProperty = "(TextBlock.Foreground) (SolidColorBrush.Color }

Это будет:. Storyboard.TargetProperty =" (TextBlock.Foregrou nd). (SolidColorBrush.Color )

+0

так глупо ошибка! 'спасибо за большую помощь' есть ли хорошая статья о Visual-State – Rev

+0

Насколько я знаю, такой хорошей статьи нет. Но я дам вам свое мнение, что я сделал, когда был новичком в визуальном состоянии. Просто установите выражение blend - выражение blend генерирует все vsm автоматически для вас. Затем просто отредактируйте vsm, поиграйте со своими свойствами, запомните вручную. http://expression.microsoft.com/en-us/cc197141.aspx – Malcolm

+1

Так хорошее выражение выражения 'blend'. У меня это есть, но я не знаю, как с этим работать (специально для создания анимаций, эффектов и визуального состояния), как я могу получить доступ к хорошему руководству о Blend 3. – Rev