Я использую следующий метод для изменения кнопок панели приложения в моем коде:
private void UpdateAppbarButton(int index, string uriString, string text, bool visibility, EventHandler handler)
{
ApplicationBarIconButton button1 = null;
if (ApplicationBar.Buttons.Count > index)
{
button1 = ApplicationBar.Buttons[index] as ApplicationBarIconButton;
}
if (button1 != null)
{
{
ApplicationBar.Buttons.Remove(button1);
}
}
if (visibility == true)
{
button1 = new ApplicationBarIconButton(new Uri(uriString, UriKind.Relative));
button1.Text = text;
button1.Click += handler;
ApplicationBar.Buttons.Insert(index, button1);
}
}
UriString - это относительный путь к значку, который я хочу отобразить на кнопке приложения. Вы, вероятно, можете адаптировать этот код для своих собственных сценариев.
По сути, вместо того, чтобы установить кнопку видимой или нет, вы должны удалить кнопку (если она есть) или повторно добавить ее, если это не так.