2013-12-08 37 views
2

我只想自定义我的应用程序栏,以便在某些状态下使用不同的默认主题颜色。这是为了给标准应用程序栏带来一点不同的感觉。我的麻烦是将前景和背景颜色设置为主题资源颜色。我在尝试以下方法时遇到无效投射异常如何将应用程序栏颜色投射到主题资源颜色

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

而我不确定为什么?要注意的是,在调试之前不会发生明确的错误

回答

1

使用

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

,因为资源是刷(故名PhoneChromeBrush),因此你必须把它转换为的SolidColorBrush,然后再从它那里得到的颜色属性。