在Silverlight中沒有主題特定的API。你所擁有的是一個或多個資源詞典,你可以使用它們來定義一組適用於你的控件的樣式。
在Theme1.xaml文件
:
<Style x:Key="HeadingStyle" TargetType="{x:Type Label}">
<Setter Property="Foreground" Value="Black"/>
</Style>
在Theme2.xaml文件:
<Style x:Key="HeadingStyle" TargetType="{x:Type Label}">
<Setter Property="Foreground" Value="Red"/>
</Style>
在App.xaml中
(默認的主題或引用default.xaml文件):
<Application.Resources>
<Style x:Key="HeadingStyle" TargetType="{x:Type Label}">
<Setter Property="Foreground" Value="blue"/>
</Style>
</Application.Resources>
改變當前的「主題」:
Application.Current.Resources = Application.LoadComponent(new Uri("Theme2.xaml", UriKind.RelativeOrAbsolute));
我現在沒有安裝RTM工具,所以我無法測試此代碼。
你幾乎釘了它。根據文檔,如果明確修改受主題影響的控件屬性,則只能覆蓋系統主題。鏈接:http://msdn.microsoft.com/en-us/library/ff402557%28VS.92%29.aspx – 2010-09-19 00:55:12
謝謝你的回答! – Manu 2010-09-19 11:02:41