2012-04-25 15 views
11

Ho cercato di ottenere un App bar implementato in un WinRT metro app (C#/XAML), ma non so da dove cominciare. Ho provato a utilizzare il tag <ApplicationBar/> e ottengo un errore Type not found.Barra delle applicazioni di Windows 8 in basso

Non c'è aiuto online, qualcuno potrebbe aggiornare questo post con la risposta in modo che possa servire come riferimento anche ad altri programmatori?

C'è solo un campione JavaScript che non è di grande aiuto.

risposta

13

Questo dovrebbe funzionare:

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

– si dovrebbe mettere che nella griglia radice layout della pagina.

* EDIT

Nota: Secondo la documentazione - si dovrebbe mettere in Page.BottomAppBar proprietà, anche se almeno in Windows Preview 8 dei consumatori - che funziona bene quando viene utilizzato in qualsiasi rete, che è conveniente se la vostra interfaccia utente isn' t strettamente accoppiato a un controllo di pagina.

* EDIT 2, response from MSFT:

L'approccio consigliato è quello di utilizzare le proprietà/TopAppBar Page.BottomAppBar.

  • Sono noti problemi di hit-test nel Consumer Preview se appbars vengono aggiunti senza l'utilizzo di queste proprietà
  • Le appbars non utilizzano le animazioni corrette se vengono aggiunti senza l'utilizzo di queste proprietà
  • Se appbars sono aggiunto come figli di elementi arbitrari quindi è più facile per più controlli per tentare di creare/modificare appbars, con conseguente un'esperienza utente incoerente

* EDIT 3

CustomAppBar in WinRT XAML Toolkit può essere utilizzato ovunque, animato in base all'Allineamento orizzontale/verticale, può avere altri contenuti sovrapposti su di esso e ha anche una proprietà CanOpen che consente di bloccarlo dall'apertura.

+1

In WinRT devi mettere dentro la Page.BottomAppBar o Page.TopAppBar proprietà. Ti suggerisco di correggere la tua risposta per evitare voti in calo =). – Carlo

+0

@carlo ha ragione. l'hanno cambiato tra le versioni di sviluppo e le anteprime dei consumatori –

+1

L'hanno fatto? Non l'ho mai notato L'ho appena inserito in una griglia in tutte le mie applicazioni e funziona. Cosa succede se non ho una pagina? In realtà stavo pianificando di smettere di usare i controlli Frame/Page di Microsoft e di sostituirli con i miei perché il loro suck (funzionalità limitate). Vuoi dire che avrò bisogno di costruire anche il mio AppBar? Per ora basta metterlo in una griglia funziona. Cercherò la documentazione che potrebbe indicare che questo smetterebbe di funzionare nelle versioni future ... –

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> 
Problemi correlati