Windows Phone 应用栏图标的颜色

4

应用程序栏图标的颜色何时会发生变化(即从白色变为黑色,或从黑色变为白色)?当主题从黑色切换到白色时还是当应用程序栏的背景画刷被更改时?如果我想应用自己的自定义主题,以便应用程序栏始终是白色呢? 我使用黑色图标,但在暗主题中它们会变成白色吗,即使应用栏已经自定义为白色?

2个回答

10

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

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

您可以在这里阅读有关图标规则的说明(链接)以及有关如何创建新图标的说明(链接)


那么我该如何确保图标始终为黑色,以便我可以拥有自定义的白色应用栏,无论是浅色还是深色主题? - Marc Andreson
7
ForegroundColor 是您想要的按钮颜色。BackgroundColor 是您想要的应用栏的背景色。 - William Melani
@WilliamMelani 是否可以自定义应用栏按钮的高亮颜色? - Yogesh Maheshwari
@YogeshMaheshwari 你的意思是按钮被按下时变成的颜色吗? - William Melani
@YogeshMaheshwari,抱歉,我不知道是否可能。查看文档,我会假设不行。http://msdn.microsoft.com/en-us/library/windowsphone/develop/microsoft.phone.shell.applicationbar(v=vs.105).aspx - William Melani
显示剩余2条评论

1

XAML

以下 XAML 显示了如何设置应用栏的前景色、背景色和不透明度。

<phone:PhoneApplicationPage.ApplicationBar>
    <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True" Opacity="0.75" ForegroundColor="Green" BackgroundColor="Cyan" >
        <shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1"/>
    <shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Button 2"/>
    <shell:ApplicationBar.MenuItems>
        <shell:ApplicationBarMenuItem Text="MenuItem 1"/>
        <shell:ApplicationBarMenuItem Text="MenuItem 2"/>
    </shell:ApplicationBar.MenuItems>
    </shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>

同样适用于C#。
ApplicationBar = new ApplicationBar();
    //Now set the AppBar properties :
ApplicationBar.Opacity = 0.75;
ApplicationBar.BackgroundColor = Color.FromArgb(120, 0,190,190);
ApplicationBar.ForeGroundColor = Color.FromArgb(120, 0,140, 43);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接