VisualStateManager
我对Windows Store 应用程序的工作有一个疑问......
假设这个示例页面:
<common:LayoutAwarePage x:Name="pageRoot">
<Grid Style="{StaticResource LayoutRootStyle}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<ListView Grid.Column="0"
x:Name="testElement" />
<Grid Grid.Column="1" />
</Grid>
<common:LayoutAwarePage/>
我用一个示例声明了下一个VisualStateManager
行为VisualState
:
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="ApplicationViewStates">
<VisualState x:Name="Snapped">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="testElement"
Storyboard.TargetProperty="Visibility">
<DiscreteObjectKeyFrame KeyTime="0"
Value="Collapsed" />
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
现在我的问题:
- 应用程序如何确定“状态”(我的意思是属性的值)是我在页面的 XAML 声明中使用的状态?
- 我是否需要明确设置页面的“初始”值 - 例如 - a
FullScreenLandscapeOrWide VisualState
? - 页面是否可能以不同的 VisualState“状态”(不是 FullScreenLandscapeOrWide)开始(可能使用其他屏幕分辨率或特定设备),如果我不声明
FullScreenLandscapeOrWide VisualState
(初始状态)会给我带来问题?
提前感谢您的澄清...