using System;
using System.Windows;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;

namespace ApplicationBar
{
    public partial class MainPage : PhoneApplicationPage
    {
        // Initialisierung von IconButton für die ApplicationBar
        private ApplicationBarIconButton appbarButton1 = new ApplicationBarIconButton();
        private ApplicationBarIconButton appbarButton2 = new ApplicationBarIconButton();
        private ApplicationBarIconButton appbarButton3 = new ApplicationBarIconButton();
        private ApplicationBarIconButton appbarButton4 = new ApplicationBarIconButton();

        // Konstruktor
        public MainPage()
        {
            InitializeComponent();

            // Schaltflaechenbeschriftung setzen
            appbarButton1.Text = "Start";
            appbarButton2.Text = "Stop";
            appbarButton3.Text = "Anfang";
            appbarButton4.Text = "Ende";

            // Bildhintergrund setzen
            appbarButton1.IconUri = new Uri("/test-png", UriKind.Relative);
            appbarButton2.IconUri = new Uri("/test-png", UriKind.Relative);
            appbarButton3.IconUri = new Uri("/test-png", UriKind.Relative);
            appbarButton4.IconUri = new Uri("/test-png", UriKind.Relative);
        }

        // Ereignismethode für die Auswahl der CheckBox "Application Bar anzeigen"
        private void cb_ShowAppBar_Checked(object sender, RoutedEventArgs e)
        {
            // ApplicationBar anzeigen
            ApplicationBar.IsVisible = true;
            // alle Checkboxen aktivieren            
            cb_AddIconButtons.IsEnabled = true;
            cb_ShowMenuItems.IsEnabled = true;
            cb_AddMenuItems.IsEnabled = true;
        }

        //  Ereignismethode für die Abwahl der CheckBox "Application Bar anzeigen"
        private void cb_ShowAppBar_Unchecked(object sender, RoutedEventArgs e)
        {
            // ApplicationBar ausblenden
            ApplicationBar.IsVisible = false;
            // alle Checkboxen deaktivieren            
            cb_AddIconButtons.IsEnabled = false;
            cb_ShowMenuItems.IsEnabled = false;
            cb_AddMenuItems.IsEnabled = false;
        }

        //  Ereignismethode für die Auswahl der CheckBox "ApplicationButton hinzufügen"
        private void cb_AddIconButtons_Checked(object sender, RoutedEventArgs e)
        {
            // der ApplicationBar vier Schaltflächen hinzufuegen
            ApplicationBar.Buttons.Add(appbarButton1);
            ApplicationBar.Buttons.Add(appbarButton2);
            ApplicationBar.Buttons.Add(appbarButton3);
            ApplicationBar.Buttons.Add(appbarButton4);
        }

        //  Ereignismethode für die Abwahl der CheckBox "ApplicationButton hinzufügen"
        private void cb_AddIconButtons_Unchecked(object sender, RoutedEventArgs e)
        {
            // alle Schaltflächen loeschen
            ApplicationBar.Buttons.Clear();
        }

        //  Ereignismethode für die Auswahl der CheckBox "Menueeintraege anzeigen"
        private void cb_ShowMenuItems_Checked(object sender, RoutedEventArgs e)
        {
            ApplicationBar.IsMenuEnabled = true;
        }

        //  Ereignismethode für die Abwahl der CheckBox "Menueeintraege anzeigen"
        private void cb_ShowMenuItems_Unchecked(object sender, RoutedEventArgs e)
        {
            ApplicationBar.IsMenuEnabled = false;
        }

        //  Ereignismethode für die Auswahl der CheckBox "Menueeintraege hinzufuegen"
        private void cb_AddMenuItems_Checked(object sender, RoutedEventArgs e)
        {
            // Menueeintraege hinzufuegen
            ApplicationBar.MenuItems.Add(new ApplicationBarMenuItem("Start"));
            ApplicationBar.MenuItems.Add(new ApplicationBarMenuItem("Stop"));
            ApplicationBar.MenuItems.Add(new ApplicationBarMenuItem("Anfang"));
            ApplicationBar.MenuItems.Add(new ApplicationBarMenuItem("Ende"));
        }

        //  Ereignismethode für die Abwahl der CheckBox "Menueeintraege hinzufuegen"
        private void cb_AddMenuItems_Unchecked(object sender, RoutedEventArgs e)
        {
            ApplicationBar.MenuItems.Clear();
        }
    }
}