У меня есть одно сомнение по поводу работы в VisualStateManager
в Windows Store приложений ...VisualStateManager: как страница знает о начальной VisualState
Предположим, этот пример страницы:
<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 на странице?
- Нужно ли явно указывать «начальные» значения страницы в - например,
FullScreenLandscapeOrWide VisualState
? - Возможно ли, что страница запустится (возможно, с другими разрешениями экрана или определенными устройствами) в другом состоянии «VisualState» (не FullScreenLandscapeOrWide), что создает проблемы, если я не объявляю
FullScreenLandscapeOrWide VisualState
(начальный статус)?
Спасибо заранее за пояснениями ...