我正在查看winrt项目的模板,其中返回按钮具有以下样式:
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="PointerOver">
...
</VisualState>
<VisualState x:Name="Pressed">
...
</VisualState>
<VisualState x:Name="Disabled">
...
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="FocusStates">
<VisualState x:Name="Focused">
...
</VisualState>
<VisualState x:Name="Unfocused" />
<VisualState x:Name="PointerFocused" />
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
我假设上述VisualStates是按钮状态,但我无法弄清楚这在按钮对象上是如何被跟踪的,以及框架如何将状态绑定到视觉状态。
我已经在互联网上四处寻找更好的理解方法,但一直没有结果。请帮助我理解这些如何紧密联系在一起。我知道你可以从代码后台手动转到特定状态,但似乎这里有一个约定我不明白。