ApplicationBarIconButton Class
July 26, 2012
An Application Bar button with an icon.
Assembly: Microsoft.Phone (in Microsoft.Phone.dll)
XMLNS for XAML: Not mapped to an xmlns.
The ApplicationBarIconButton type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | ApplicationBarIconButton() | Creates a new instance of the ApplicationBarIconButton class. |
![]() | ApplicationBarIconButton(Uri) | Creates a new instance of the ApplicationBarIconButton class with the specified icon. |
The following example creates an Application Bar in XAML that has two icon buttons and two menu items. For the full example, see How to: Create an Application Bar in XAML for Windows Phone.
<phone:PhoneApplicationPage.ApplicationBar> <shell:ApplicationBar Mode="Default" Opacity="1.0" IsMenuEnabled="True" IsVisible="True"> <shell:ApplicationBarIconButton Click="Save_Click" IconUri="/Images/save.png" Text="save" /> <shell:ApplicationBarIconButton Click="Settings_Click" IconUri="/Images/settings.png" Text="settings" /> <shell:ApplicationBar.MenuItems> <shell:ApplicationBarMenuItem Click="MenuItem1_Click" Text="menu item 1" /> <shell:ApplicationBarMenuItem Click="MenuItem2_Click" Text="menu item 2" /> </shell:ApplicationBar.MenuItems> </shell:ApplicationBar> </phone:PhoneApplicationPage.ApplicationBar>
The following example creates an Application Bar in code that has one icon button and one menu item. For the full example, see How to: Create an Application Bar in Code for Windows Phone.
using System; using System.Windows; using Microsoft.Phone.Controls; using Microsoft.Phone.Shell; namespace HowToCS { public partial class MainPage : PhoneApplicationPage { // Constructor public MainPage() { InitializeComponent(); ApplicationBar = new ApplicationBar(); ApplicationBar.Mode = ApplicationBarMode.Default; ApplicationBar.Opacity = 1.0; ApplicationBar.IsVisible = true; ApplicationBar.IsMenuEnabled = true; ApplicationBarIconButton button1 = new ApplicationBarIconButton(); button1.IconUri = new Uri("/Images/YourImage.png", UriKind.Relative); button1.Text = "button 1"; ApplicationBar.Buttons.Add(button1); button1.Click += new EventHandler(button1_Click); ApplicationBarMenuItem menuItem1 = new ApplicationBarMenuItem(); menuItem1.Text = "menu item 1"; ApplicationBar.MenuItems.Add(menuItem1); menuItem1.Click += new EventHandler(menuItem1_Click); } private void button1_Click(object sender, EventArgs e) { MessageBox.Show("Button 1 works!"); //Do work for your application here. } private void menuItem1_Click(object sender, EventArgs e) { MessageBox.Show("Menu item 1 works!"); //Do work for your application here. } } }
The following example dynamically changes the caption text and icon of a button on an Application Bar. For the full example, see How to: Change Icon Buttons and Menu Items Dynamically for Windows Phone.
private void button1_Click(object sender, EventArgs e) { ApplicationBarIconButton btn = (ApplicationBarIconButton)ApplicationBar.Buttons[0]; if (btn.Text == "play") { btn.Text="pause"; btn.IconUri = new Uri("/Images/pause.png", UriKind.Relative); } else if(btn.Text == "pause") { btn.Text="play"; btn.IconUri = new Uri("/Images/play.png", UriKind.Relative); } }
The following example creates an Application Bar that can be reused on multiple pages in your application. For the full example, see How to: Reuse an Application Bar on Multiple Pages in Your Windows Phone Application.
<Application.Resources> <shell:ApplicationBar x:Key="GlobalAppBar" IsVisible="True" IsMenuEnabled="True"> <shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1" Click="Button1_Click" /> <shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Button 2" Click="Button2_Click" /> <shell:ApplicationBar.MenuItems> <shell:ApplicationBarMenuItem Text="MenuItem 1" Click="MenuItem1_Click" /> <shell:ApplicationBarMenuItem Text="MenuItem 2" Click="MenuItem2_Click" /> </shell:ApplicationBar.MenuItems> </shell:ApplicationBar> </Application.Resources>
The following example creates two Application Bars that can be used in a single pivot control in your application. For the full example, see How to: Use Different Application Bars in a Single Pivot Control in Your Windows Phone Application.
<Application.Resources> <shell:ApplicationBar x:Key="AppBar1" IsVisible="True" IsMenuEnabled="True"> <shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1" Click="Button1_Click" /> <shell:ApplicationBar.MenuItems> <shell:ApplicationBarMenuItem Text="MenuItem 1" Click="MenuItem1_Click" /> </shell:ApplicationBar.MenuItems> </shell:ApplicationBar> <shell:ApplicationBar x:Key="AppBar2" IsVisible="True" IsMenuEnabled="True"> <shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1" Click="Button1_Click" /> <shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Button 2" Click="Button2_Click" /> <shell:ApplicationBar.MenuItems> <shell:ApplicationBarMenuItem Text="MenuItem 1" Click="MenuItem1_Click" /> <shell:ApplicationBarMenuItem Text="MenuItem 2" Click="MenuItem2_Click" /> </shell:ApplicationBar.MenuItems> </shell:ApplicationBar> </Application.Resources>
