En el artículo anterior se ha visto cómo agregar un menú contextual a una aplicación Metro. La otra interacción disponible es la Application Bar, que sustituye la barra de menús y las diferentes barras de herramientas. En este artículo se verán las caracteristicas que hacen diferente la Application Bar y cómo implementar una.
Características
La Application Bar se puede situar encima o debajo de la pantalla, ya que los laterales están reservados para el cambio de aplicaciones y las diferentes charms, de las que se ha hablado en este artículo.
Otra característica, es que es deseable, y así se muestra en las aplicaciones de ejemplo, que los controles se sitúen a los lados de la pantalla, ya que, al estar enfocado a tablets, los laterales hacen el acceso táctil más fácil al sostener el ordenador con ambas manos.
Además, usando este control se podrán mostrar notificaciones, como la que aparece al terminar de descargar un fichero en Internet Explorer.
Implementación
Para poder implementar esta funcionalidad se agrega un control de tipo ApplicationBar a la página, dentro del contenedor principal (Un grid o un StackPanel). En este control se especifican las propiedades como la alineación, el color de fondo, su persistencia y el estado que tendrá al cargar la página.
<ApplicationBar x:Name="AppBar" Grid.ColumnSpan="2" Grid.Row="2" VerticalAlignment="Bottom" IsPersistent="False" IsOpen="True" Height="Auto" DismissMode="EdgeSwipe" HorizontalAlignment="Stretch" Background="#548D8D8D">
El resto del comportamiento es similar a cualquier otro contenedor de XAML como se aprecia en el código completo:
<ApplicationBar x:Name="AppBar" Grid.ColumnSpan="2" Grid.Row="2" VerticalAlignment="Bottom" IsPersistent="False" IsOpen="True" Height="Auto" DismissMode="EdgeSwipe" HorizontalAlignment="Stretch" Background="#548D8D8D"> <ApplicationBar.Resources> <Style TargetType="TextBlock"> <Setter Property="FontFamily" Value="SegoeUI" /> <Setter Property="FontSize" Value="12" /> <Setter Property="Foreground" Value="White" /> <Setter Property="HorizontalAlignment" Value="Center" /> </Style> </ApplicationBar.Resources> <Grid Margin="15,0,15,0"> <Grid.ColumnDefinitions> <ColumnDefinition Width="90" /> <ColumnDefinition Width="70" /> <ColumnDefinition Width="*" /> <ColumnDefinition Width="70" /> <ColumnDefinition Width="90" /> </Grid.ColumnDefinitions> <StackPanel Orientation="Vertical" Margin="0,14,0,5" Grid.Column="0"> <Button Margin="0,0,0,10"/> <TextBlock Text="Back" /> </StackPanel> <StackPanel Orientation="Vertical" Margin="0,14,0,5" Grid.Column="4"> <Button Margin="0,0,0,10"/> <TextBlock Text="View Full" /> </StackPanel> </Grid> </ApplicationBar>
El resultado será una barra como la que se muestra en la siguiente pantalla:
Mas información en MSDN: