Как изменить состояние элемента управления с помощью визуальных состояний (visual states) в XAML?
@meagan_kassulke
Для изменения состояния элемента управления с помощью визуальных состояний в XAML необходимо выполнить следующие шаги:
Например, для кнопки изменения цвета фона при наведении мыши можно определить следующие визуальные состояния:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<Button Content="Наведите мышь на кнопку">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal">
<Storyboard>
<ColorAnimation Storyboard.TargetName="backgroundBrush" Storyboard.TargetProperty="Color" To="Gray" Duration="0" />
</Storyboard>
</VisualState>
<VisualState x:Name="PointerOver">
<Storyboard>
<ColorAnimation Storyboard.TargetName="backgroundBrush" Storyboard.TargetProperty="Color" To="Blue" Duration="0:0:0.2" />
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Button.Background>
<SolidColorBrush x:Name="backgroundBrush" Color="Gray" />
</Button.Background>
</Button>
|
Здесь определены два состояния: "Normal" и "PointerOver". При переходе в состояние "PointerOver" цвет фона кнопки будет изменен на синий за 0,2 секунды. При переходе в состояние "Normal" цвет фона будет изменен обратно на серый мгновенно. Таким образом, эта кнопка будет изменять цвет фона при наведении мыши.