0

WindowsストアアプリVisualStateManagerでの動作について1つ疑問があります...

次のサンプル ページを想定します。

<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>

そして今、私の質問:

  1. 「状態」(つまり、プロパティの値) が、ページの XAML 宣言で使用したものであることを、アプリケーションはどのように判断できますか?
  2. たとえば、ページの「初期」値を明示的に設定する必要がありますFullScreenLandscapeOrWide VisualStateか?
  3. FullScreenLandscapeOrWide VisualStateページが別の VisualState "状態" (FullScreenLandscapeOrWide ではない) で (おそらく他の画面解像度または特定のデバイスで) 開始され、 (初期状態)を宣言しないと問題が発生する可能性はありますか?

事前にご説明いただきありがとうございます...

4

1 に答える 1

0

すべてのことは で起こりLayoutAwarePageます。Visual state switchingリージョンをチェックアウトしStartLayoutUpdatesます。ページがロードされると、イベントが呼び出されます。アプリの現在の視覚的な状態を判断します。各ページに明示的に追加する必要はありません。アプリが特定の状態で開かれたときに、特定の視覚状態でコントロールを切り替えることができます。

于 2013-09-30T09:44:24.783 に答える