如何将应用程序栏颜色转换为主题资源颜色



我只想自定义我的应用程序栏,以便在某些状态下使用不同的默认主题颜色。这是为了给标准应用程序栏一点不同的感觉。我的问题是将前景和背景颜色设置为主题资源颜色。尝试以下时,我得到一个无效的Cast异常

ApplicationBar.ForegroundColor = (Color)Application.Current.Resources["PhoneChromeBrush"];

我不知道为什么?需要注意的是,在调试之前不会出现显式错误。

使用

ApplicationBar.ForegroundColor = (Application.Current.Resources["PhoneChromeBrush"] as SolidColorBrush).Color;

因为该资源是一个笔刷(因此命名为PhoneChromeBrush),所以您必须首先将其转换为SolidColorBrush,然后从中获取Color属性。

最新更新