这是 MVVM 变得非常方便的场景。通过创建两个单独的视图,每个视图用于捕捉、填充和全屏,您可以相对轻松地在它们之间进行切换。
您的另一个选择是使用新的 FlipView 控件。Contoso Cookbook 示例应用程序中有一个很好的示例,可以在 Windows 8 Dev Camp in a Box 中找到。
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