即使图标在Windows手机应用程序中着色,应用程序栏图标也显示为白色?

时间:2014-06-02 08:14:10

标签: c# xaml windows-phone-8 windows-phone application-bar

实际预期结果 Bottom App Bar Icon should be like this ( Needed)

但在模拟器But its appearing like this in the emulator

中显示如下

这是我使用的图标资源This is the image icon am using in the bottom app bar

我在c#中添加了应用栏图标,如下所示:

 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;
    }

我已经阅读了底部应用栏图标here的最佳做法,但截至目前,我无法在透明背景上访问带有白色forgeround的图标。这是我的图标,有没有什么方法可以在应用栏图标中获得预期的绿色?我已尝试将应用栏图标的前景色设置为绿色,但这不会更改结果。它仍然总是白色的。有什么办法可以删除windows phone sdk的自动功能,用白色或黑色的彩色图标。我希望图标看起来与我使用的图像资产完全相同。(绿色)

请告诉我是否可能。

感谢。

4 个答案:

答案 0 :(得分:2)

默认情况下,所有应用程序图标的亮浅颜色取决于您的模拟器/手机主题。

要更改应用程序图标的前景色,请使用

<强> XAML

ForegroundColor="Red" //your desired color

<强> C#

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

答案 1 :(得分:0)

尝试这样做:如果使用应用栏不是必须的,请使用页脚放置控件并完全控制它们的外观。

答案 2 :(得分:0)

不幸的是,除非您创建自己的Appbar控件,否则无法执行此操作。

以下是在AppBar中使用Windows Phone buit的一些指南:

ApplicationBar中使用的所有图标应为48x48 PNG文件,白色,背景为透明。

如果用户使用灯光主题,Windows Phone将负责更​​改图标的颜色(因此图标将变为黑色)

您可以阅读here图标规则,here了解如何制作新图标规则!

答案 3 :(得分:0)

设置应用栏前景色应该有效:

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看起来与您拥有的文件非常相似。