Windows Phone 7: Die Application Bar

Die Application Bar ist im Prinzip das Menü einer Windows Phone Anwendung.

image

In die Application Bar lassen sich bis zu vier Symbole (ApplicationBarIconButton) integrieren, denen bestimmte Funktionen zugeordnet werden können. Zusätzlich ist es möglich noch ein erweitertes Menü zu integrieren (im Bild an den kleinen Punkten rechts, neben den vier Symbolen). Drückt man darauf, bekommt man ein Textmenü eingeblendet.

image

Damit hat man die Möglichkeit mehr Funktionen als über vier Symbole möglich wären, einzubauen.

Die Application Bar-Funktionalität ist nur verfügbar, wenn man als Enwickler die Bibliothek “Microsoft.Phone.Shell” integriert, ansonsten sucht man nach der ApplicationBar vergeblich.

Der Code für das Anlegen der Application Bar:

 ApplicationBar = new ApplicationBar();
ApplicationBar.IsMenuEnabled = true;
ApplicationBar.IsVisible = true;
ApplicationBar.Opacity = 1.0;

Der Code für das Erzeugen der Symbole:

 ApplicationBarIconButton add = 
    new ApplicationBarIconButton(
        new Uri("/Images/appbar.add.rest.png", UriKind.Relative));
add.Click += (s, e) =>
    {
        MessageBox.Show("Add-Clicked", "Info", MessageBoxButton.OK);
    };
ApplicationBar.Buttons.Add(add);
            
ApplicationBarIconButton remove = 
    new ApplicationBarIconButton(
        new Uri("/Images/appbar.delete.rest.png", UriKind.Relative));
ApplicationBar.Buttons.Add(remove);
            
ApplicationBarIconButton edit = 
    new ApplicationBarIconButton(
        new Uri("/Images/appbar.edit.rest.png", UriKind.Relative));
ApplicationBar.Buttons.Add(edit);
            
ApplicationBarIconButton question = 
    new ApplicationBarIconButton(
        new Uri("/Images/appbar.questionmark.rest.png", UriKind.Relative));
ApplicationBar.Buttons.Add(question);

Der Code für die Menüeinträge:

 ApplicationBarMenuItem setUserSettings = 
    new ApplicationBarMenuItem("set usersettings");
ApplicationBar.MenuItems.Add(setUserSettings);
            
ApplicationBarMenuItem changeColor = 
    new ApplicationBarMenuItem("change color");
ApplicationBar.MenuItems.Add(changeColor);

ApplicationBarMenuItem orderCoffee =
    new ApplicationBarMenuItem("order coffee");
ApplicationBar.MenuItems.Add(orderCoffee);

Um nun die Application Bar dynamisch aus der Anwendung heraus aufzurufen gibt es verschiedene Möglichkeiten.

 // Einfaches einblenden
 ApplicationBar.Opacity = 1.0;
ApplicationBar.IsMenuEnabled = true;
ApplicationBar.IsVisible = true;

// Ausblenden

 ApplicationBar.IsVisible = false;

// Transparentes Darstellen

 ApplicationBar.Opacity = .5;
ApplicationBar.IsMenuEnabled = true;
ApplicationBar.IsVisible = true;

// Darstellen ohne Menü

 ApplicationBar.Opacity = 1.0;
ApplicationBar.IsVisible = true;    
ApplicationBar.IsMenuEnabled = false;