これは、MVVMが非常に便利になるシナリオです。スナップ、フルスクリーン、フルスクリーンにそれぞれ1つずつ、2つの別々のビューを作成することで、それらを比較的簡単に切り替えることができます。
もう1つのオプションは、新しいFlipViewコントロールを使用することです。この良い例は、Windows 8 Dev Camp inaBoxにあるContosoCookbookサンプルアプリにあります。
http://bit.ly/win8RCdevcamp
Contosoハンズオンラボのサンプルコードは次のとおりです。
<FlipView.ItemTemplate>
<DataTemplate>
<UserControl Loaded="StartLayoutUpdates" Unloaded="StopLayoutUpdates">
<ScrollViewer x:Name="scrollViewer" Style="{StaticResource VerticalScrollViewerStyle}" Grid.Row="1">
<!-- Vertical StackPanel for item-detail layout -->
<StackPanel Orientation="Vertical" Margin="20,0,20,0">
<StackPanel Orientation="Vertical">
<TextBlock FontSize="20" FontWeight="Light" Text="{Binding Title}" TextWrapping="Wrap"/>
<Image x:Name="image" Width="260" Margin="0,12,0,40" Stretch="Uniform" Source="{Binding Image}" HorizontalAlignment="Left"/>
</StackPanel>
<StackPanel Orientation="Vertical">
<TextBlock FontSize="20" FontWeight="Light" Text="Ingredients" Margin="0,0,0,16"/>
<TextBlock FontSize="16" FontWeight="Light" TextWrapping="Wrap" Text="{Binding Ingredients, Converter={StaticResource ListConverter}}" />
</StackPanel>
</StackPanel>
</ScrollViewer>
</UserControl>
</DataTemplate>
</FlipView.ItemTemplate>
ご覧のとおり、FlipViewごとに、異なる表示状態が参照されます。状況をより具体的に確認するために、そのハンズオンラボを確認することをお勧めします。または、FlipViewコントロールのHTMLとXAMLの両方の例を含むこの他のサンプル:http:
//code.msdn.microsoft.com/windowsapps/ FlipView-control-sample-18e434b4