2015-06-07 141 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

那麼,有沒有什麼辦法來更改主題時以編程方式更新資源? –

相關問題