Search code examples
cross-platformwindows-phone-8application-bar

Create Application bar dynamically


I want to create Application Bar dynamically in Windows Phone 8. I have used the following code to create application bar in appbar.cs file

class AppBar
    {
    public AppBar()
    {
        ApplicationBar appbar;
            this.appbar = new ApplicationBar();
            this.appbar.IsVisible = true;
            this.appbar.Opacity = 1;
            this.appbar.Mode = ApplicationBarMode.Minimized;
            ApplicationBarIconButton appButon = new ApplicationBarIconButton();
            appButon.IconUri = new Uri("/images/show.png", UriKind.Relative);
            appButon.Text = "Show";
            this.appbar.Buttons.Add(appButon);
            appButon.Click += appButon_Click;

        }
     }

        void appButon_Click(object sender, EventArgs e)
        {

        }
}

If i have created the instance of AppBar class, then all the methods called but i unable to see the application bar. I have given request to create the appbar from webview. From the javainterface i have created the instance of application bar with the given text and icon. How to show this in the web page.


Solution

  • I have solved the my Application bar issue. Added my application bar with parent element(PhoneApplicationPage).

    class AppBar
        {
        public AppBar()
        {
            ApplicationBar appbar;
            PhoneApplicationPage parentpage = (Application.Current.RootVisual as ContentControl).Content as PhoneApplicationPage; 
                parentpage.ApplicationBar =  new ApplicationBar();         
                appbar = parentpage.ApplicationBar;
                appbar.IsVisible = true;
                appbar.Opacity = 1;
                appbar.Mode = ApplicationBarMode.Minimized;
                ApplicationBarIconButton appButon = new ApplicationBarIconButton();
                appButon.IconUri = new Uri("/images/show.png", UriKind.Relative);
                appButon.Text = "Show";
                appbar.Buttons.Add(appButon);
                appButon.Click += appButon_Click;
    
            }
         }
    
            void appButon_Click(object sender, EventArgs e)
            {
    
            }
    }