2015-11-03 4 views
0

Я работаю над универсальным приложением Windows.Изменение стиля кнопки с помощью VisualStateManager

Я хочу, чтобы изменить стиль моей кнопки в разных штатах, но я не могу понять (я новичок в этом)

Вот мое визуальное состояние группы

<VisualStateGroup x:Name="StartStopTimer"> 
    <VisualState x:Name="Start"> 
    </VisualState> 
    <VisualState x:Name="Stop"> 
     <VisualState.Setters> 
     </VisualState.Setters> 
    </VisualState> 
</VisualStateGroup> 

У меня есть два стиля настройки под названием StartButtonStyle и StopButtonStyle.

Так что я хочу изменить стиль кнопки, чтобы StopButonStyle в визуальном состоянии Stop и StartButtonStyle в визуальном состоянии Start.

Как это сделать? Я попытался с записью в Expression Blend, но это ничего не касается моего визуального состояния.

ответ

2

Здесь вы:

<VisualStateManager.VisualStateGroups> 
     <VisualStateGroup x:Name="StartStopTimer"> 
      <VisualState x:Name="Start"> 
       <Storyboard> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="TestButton" 
                Storyboard.TargetProperty="Style"> 
         <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource StartButtonStyle}"> 
         </DiscreteObjectKeyFrame> 
        </ObjectAnimationUsingKeyFrames> 
       </Storyboard> 
      </VisualState> 
      <VisualState x:Name="Stop"> 
       <Storyboard> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="TestButton" 
                Storyboard.TargetProperty="Style"> 
         <DiscreteObjectKeyFrame KeyTime="0" 
               Value="{StaticResource StopButtonStyle}"> 
         </DiscreteObjectKeyFrame> 
        </ObjectAnimationUsingKeyFrames> 
       </Storyboard> 
      </VisualState> 
     </VisualStateGroup> 
    </VisualStateManager.VisualStateGroups> 

Конечно, вы должны быть определены свои стили в ресурсах, например, в странице ресурсов.

Пожалуйста, не забудьте отметить мой ответ в качестве ответа.

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