Как изменить изображение на панели приложений из C #? - PullRequest
2 голосов
/ 31 мая 2011

У меня есть небольшой проект на C # с ApplicationBar. Но у меня есть небольшая проблема: мне нужно 8 значков на панели, а ApplicationBar поддерживает только 4. Я нашел решение (в C #): добавьте небольшой флажок, чтобы спросить, хочет ли пользователь использовать первый или второй набор инструментов.

Но я все еще не могу изменить значки на панели приложений. Я попытался удалить старые, сначала с ApplicationBar.MenuItems.Remove(Button1);, а затем с ApplicationBar.Buttons.Remove(Button1); , но ни один не работал. Я попытался изменить свойство .IconUri кнопки, но это дало мне исключение NullReferenceException.

Ответы [ 3 ]

4 голосов
/ 31 мая 2011

Я не понимаю, что вы имеете в виду, изменив его с "C #, а не Silverlight". C # - это язык программирования, а Silverlight - это фреймворк. Тем не менее, ссылка, которую вы разместили, объясняет, как именно вы это делаете. Панель приложений - это не элемент управления Silverlight, это часть родной ОС. Вы можете использовать код в ссылке или сделать что-то вроде этого:

firstAppBarButton = (ApplicationBarIconButton)ApplicationBar.Buttons[0];
firstAppBarButton.Text = "New Text";
firstAppBarButton.IconUri = new Uri("/appbarIcon.png",UriKind.Relative);

Вам нужно получить ApplicationBarIconButton через индекс (0 для первого, 1 для второго и т. Д.) Вместо имени.

2 голосов
/ 31 мая 2011

Вы не можете ссылаться на кнопки приложения по имени.Попробуйте:

((ApplicationBarIconButton)ApplicationBar.Buttons[0]).Remove

Я бы также посоветовал вам не показывать пользователю две группы по 4 иконки.Предел 4 по причине.Больше, чем это требует переосмысления пользовательского интерфейса.Возможно, разделить функциональность на несколько страниц?

1 голос
/ 13 июля 2012

Синтаксис выше дал мне ошибку компиляции. С некоторыми дополнительными исследованиями я получил это, чтобы работать для меня:

ApplicationBar.Buttons.Remove((ApplicationBarIconButton) ApplicationBar.Buttons[0]);
...