usted debe hacer uso de la VisualStateManager en XAML, para una solución completa xaml:
<Grid x:Name="LayoutRoot">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="OrientationStates">
<VisualState x:Name="Full"/>
<VisualState x:Name="Fill"/>
<VisualState x:Name="Portrait"/>
<VisualState x:Name="Snapped"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
</Grid>
Crear Historietas para cada VisualState y elementos de ocultar/mostrar en su xaml. Los ejemplos de Microsoft usan la misma solución.
-
actualización
He buscado en la red y encontré los estados apropiados, un ejemplo está detrás de este enlace: MSDN.
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="ApplicationViewStates">
<VisualState x:Name="FullScreenLandscape"/>
<VisualState x:Name="Filled"/>
<VisualState x:Name="FullScreenPortrait"/>
<VisualState x:Name="Snapped"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
Los estados reflejan el ApplicationViewState enum. Se puede encontrar incluso más información here.
puede por favor elaborar ¿Su respuesta es más ?, con su ayuda podría obtener este enlace, http://www.markermetro.com/2011/11/technical/windows-8-metro-style-apps-layout-and-orientation-management-with- xaml /, entonces significa que tengo que escribir un diseño diferente para cada estado visual, y volver a vincular los datos en cada cambio de orientación a los controles correctos dependiendo del estado? –
¡Sí!De hecho, esa sería la solución más bella, xaml, afaik. Con algunos storyboards inteligentes podrías reutilizar algunos de tus elementos, pero en su mayoría tendrías que crear diseños diferentes. Si lo hace, sería conveniente cambiarlos a UserControls o Views separados e incluirlos. – Kolky
Lo siento, era un poco estrecho de miras. Microsoft creó una clase de página base que admite estos VisualStates. Actualicé mi publicación con un ejemplo más útil ... – Kolky