Updating ApplicationBarIconButton dynamically

Since the ApplicationBar is not a DependencyObject and not part of the visual tree, FindElement cannot locate Items in the ApplicationBar with x:Name set.  The members will be null.


Due to this, it may be best to initialize the ApplicationBar using code behind and hold references to items which need to be dynamically changed.


Notice in the code below that SaveEdit reference is held and SaveEdit.IsEnabled is updated with each keypress into the TextBox.


#region AppBar

private ApplicationBarIconButton SaveEdit;

private void InitAppBar()


ApplicationBar appBar = new ApplicationBar();

appBar = new ApplicationBar();


SaveEdit = new ApplicationBarIconButton(new Uri(“images/appbar.check.rest.png”, UriKind.Relative));

SaveEdit.Click += new EventHandler(OnClick_Check);

//SaveEdit.Text = Strings.Save_button;



ApplicationBarIconButton CancelEdit = new ApplicationBarIconButton(new Uri(“images/appbar.close.rest.png”, UriKind.Relative));

CancelEdit.Click += new EventHandler(OnClick_Cancel);

//CancelEdit.Text = Strings.Cancel_button;



ApplicationBar = appBar;


#endregion AppBar




void itemName_KeyDown(object sender, KeyEventArgs e)


bool isNameValid = itemName.Text.Length != 0;


if ((e.Key == Key.Enter) && isNameValid)





SaveEdit.IsEnabled = isNameValid;



This entry was posted in development, wp7. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s