2012-04-25 27 views
11

He intentado obtener un App bar implementado en un WinRT metro app (C#/XAML), pero no sé por dónde empezar. Intenté usar la etiqueta <ApplicationBar/> y recibí un error Type not found.Windows 8 bottom application bar

No hay ayuda en línea, ¿alguien podría actualizar esta publicación con la respuesta para que sirva de referencia a otros programadores también?

Solo hay una muestra de JavaScript que no es de mucha ayuda.

Respuesta

13

Esto debería funcionar:

<AppBar 
    VerticalAlignment="Bottom"> 
    <Button 
     AutomationProperties.Name="Play" 
     Style="{StaticResource PlayAppBarButtonStyle}" 
     Command="{Binding PlayCommand}" /> 
</AppBar> 

– que pondría de que en la red raíz de disposición de la página.

* EDITAR

Nota: De acuerdo con la documentación - usted debe ponerlo en Page.BottomAppBar propiedad, aunque por lo menos en Windows Vista preliminar 8 Consumidor - que funciona bien cuando se utiliza en cualquier cuadrícula, que es conveniente si la interfaz de usuario ISN' t estrechamente acoplado a un control de página.

* EDIT 2, response from MSFT:

Lo que se recomienda es utilizar las propiedades/TopAppBar Page.BottomAppBar.

  • hay problemas conocidos de pruebas de éxito en la vista previa de los consumidores si se añaden appbars sin necesidad de utilizar estas propiedades
  • Los appbars no utilizan las animaciones correctas si se añaden sin necesidad de utilizar estas propiedades
  • Si appbars son añadido como hijos de elementos arbitrarios entonces es más fácil para múltiples controles para intentar crear/modificar appbars, dando como resultado una experiencia de usuario inconsistente

* EDITAR 3

La CustomAppBar en WinRT XAML Toolkit se puede usar en cualquier lugar, se anima en función de la alineación vertical/horizontal, puede tener otro contenido superpuesto encima y también tiene una propiedad CanOpen que le permite bloquear su apertura.

+1

En WinRT tienes que ponerlo dentro de la Page.BottomAppBar o Page.TopAppBar propiedades. Le sugiero que corrija su respuesta para evitar votos negativos =). – Carlo

+0

@carlo tiene razón. lo cambiaron entre las vistas previas del desarrollador y del consumidor –

+1

¿Lo hicieron? Nunca me di cuenta. Acabo de ponerlo en una cuadrícula en todas mis aplicaciones y simplemente funciona. ¿Qué pasa si no tengo una página? De hecho, estaba planeando dejar de usar los controles Frame/Page de Microsoft y reemplazarlos por los míos porque les encanta (funciones limitadas). ¿Quieres decir que tendré que construir mi propia AppBar también? Por ahora solo ponerlo en una Grilla funciona. Buscaré documentación que pueda indicar que esto dejará de funcionar en futuras compilaciones ... –

1
<Page.TopAppBar> 
    <AppBar> 
     <TextBlock x:Name="TextBlock1" Text="Sample Text" Margin="0,0,0,0" Height="Auto" VerticalAlignment="Center" HorizontalAlignment="Left"/> 
    </AppBar> 
</Page.TopAppBar>