ThemeResoure 在 Windows Phone 8.1 Silverlight 中不可用

ThemeResoure is not available in Windows Phone 8.1 Silverlight

我正在开发 windows phone 8.1 (silverlight) 应用程序,我需要根据 phone 的主题更改背景颜色。我发现的一种方法是

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。

如您所见,ThemeResource 仅适用于 WinRT。不幸的是,在 Silverlight 中没有可靠的方法来动态更新资源,这就是为什么几乎每个具有多个主题的应用程序都需要用户重新启动。即使您使用自定义标记扩展或转换器以某种方式模仿 ThemeResource,如果不重新模板化所有控件,您将无法将其应用于 built-in/third-party 控件。