2015-06-07 103 views
0

我正在开发一个windows phone 8.1(silverlight)应用程序,我需要根据手机的主题更改背景颜色。我找到的一种方法是:ThemeResoure在Windows Phone 8.1中不可用Silverlight

Background="{StaticResource PhoneAccentBrush}" 

但是当主题改变时需要重启应用程序。我想反映,而无需重新启动应用程序。

我通过JAYWAY Windows Phone 8.1 for Developers – Theme resources去,发现

Background="{ThemeResource SystemColorControlAccentColor}" 

当我插在我的网页上这条线时,Visual Studio显示我下面的错误

  1. “ThemeResource”这个名字并不在命名空间 存在“http://schemas.microsoft.com/client/2007
  2. 未找到类型'ThemeResource'。确认您不是 缺少装配参考,并且所有引用的装配 均已生成。

那么,是否有任何方式来使用Windows Phone 8.1 silverlight的ThemeResource或任何等效于ThemeResource?

P.S .:我使用的是Visual Studio 2013 Professional。

回答

1

正如你注意到,ThemeResource仅适用于WinRT的。不幸的是,没有可靠的方法来动态更新Silverlight中的资源,这就是为什么几乎每个具有多个主题的应用程序都需要用户重新启动。即使您使用自定义标记扩展名或转换器以某种方式模仿ThemeResource,您也无法将其应用于内置/第三方控件,而无需对其全部进行重新模板化。

+0

那么,有没有什么办法来更改主题时以编程方式更新资源? –

相关问题