Значки панели приложений выглядят белыми, даже если значки окрашены в приложении Windows phone?

Фактический предполагаемый результат Иконка нижней панели приложений должна быть такой (обязательно)

Но в эмуляторе это выглядит так Но в эмуляторе это выглядит так

Это значок изображения, который я используюЭто значок изображения, который я использую на нижней панели приложения

Я добавляю значок панели приложений в С# следующим образом:

 public void SetAppBar()
    {
        if (ApplicationBar == null)
        {
            ApplicationBar = new ApplicationBar();
            ApplicationBar.Mode = ApplicationBarMode.Default;
        }

        this.ApplicationBar.Buttons.Clear();

        ApplicationBarIconButton applicationBarIconButton = new ApplicationBarIconButton();
        applicationBarIconButton.Text = "play all";

        applicationBarIconButton.IconUri = new Uri("Images/play_off.png", UriKind.Relative);
        applicationBarIconButton.Click += AppBarButton_Click_1;

        this.ApplicationBar.Buttons.Add(applicationBarIconButton);

        ApplicationBar.IsVisible = true;
    }

Я ознакомился с рекомендациями по использованию значков нижней панели приложений здесь, но на данный момент у меня нет доступа к значку с белым фоном на прозрачном фоне. Это значок, который у меня есть. Могу ли я каким-либо образом получить предполагаемый зеленый цвет на значке панели приложений? Я попытался установить цвет переднего плана значка панели приложений на зеленый, но это не меняет результат. Он по-прежнему всегда белый. Можно ли каким-либо образом удалить эту автоматическую функциональность Windows Phone sdk для окрашивания значков в белый или черный цвет. Я хочу, чтобы значок выглядел точно так же, как ресурс изображения, который я использую. (зеленый цвет)

Пожалуйста, дайте мне знать, если это возможно.

Спасибо.


person Bitsian    schedule 02.06.2014    source источник


Ответы (4)


По умолчанию все значки вашего приложения будут иметь светлые и темные цвета в зависимости от темы вашего эмулятора/телефона.

Чтобы изменить цвет переднего плана значка приложения, используйте

XAML

ForegroundColor="Red" //your desired color

С#

ApplicationBar.ForegroundColor = Color.FromArgb(255, 167, 246, 0); //your desired color's RGB code
person Mohamed Thaufeeq    schedule 02.06.2014

попробуйте это вместо этого: если использование панели приложений не является обязательным, используйте нижний колонтитул страницы для размещения элементов управления и полного контроля над их внешним видом.

person Noor Saifi    schedule 02.06.2014

К сожалению, нет способа сделать это, если вы не создадите свой собственный элемент управления Appbar.

Вот несколько рекомендаций по использованию встроенной панели Windows Phone в AppBar:

Все значки, используемые в ApplicationBar, должны быть файлами PNG 48x48, белого цвета с прозрачным фоном.

Windows Phone позаботится об изменении цвета значка, если пользователь использует светлую тему (поэтому значок станет черным).

Вы можете прочитать здесь правила для значков и здесь о том, как создать новый!

person Amit Bhatiya    schedule 02.06.2014

Настройка цвета переднего плана панели приложений должна работать:

ApplicationBar.ForegroundColor = Color.FromArgb(255, 167, 246, 0);

Однако ваша иконка не работает. Значок должен иметь непрозрачный передний план с прозрачным фоном. Передний план окрашивается заданным цветом переднего плана.

Возможно, вы сможете найти подходящую иконку в Windows Phone SDK:

C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.0\Icons

Файл transport.play.png очень похож на тот, что у вас есть.

person sast    schedule 02.06.2014