我想爲我的應用程序定義多個主題,並在每次喜歡時切換它們,但我想將每個主題的每個控件的樣式放在單獨的ResourceDictionary
中,以便使文件具有務實的風格,並且我可以快速輕鬆地管理它們。 但問題是:嵌套資源字典的樣式不適用。 有什麼建議嗎? 謝謝。嵌套資源字典
Q
嵌套資源字典
0
A
回答
2
我假定您爲每個控件使用了單獨的資源字典,併爲其他主題重複使用它。 因此,我建議你保持一個資源字典爲每個主題如:Theme1.xaml ..併合並其來在這個主題下你所有的資源字典.. 例如:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/UrProject;component/Themes/Theme1/Button.xaml"/>
<ResourceDictionary Source="pack://application:,,,/UrProject;component/Themes/Theme1/Combobox.xaml" />
<ResourceDictionary Source="pack://application:,,,/UrProject;component/Themes/Theme1/ListBox.xaml" />
<ResourceDictionary Source="pack://application:,,,/UrProject;component/Themes/Theme1/Checkbox.xaml" />
</ResourceDictionary.MergedDictionaries>
您可以添加並將此資源字典移除到您的應用程序以切換主題。希望能幫助到你。 :)
0
您可以將主題應用程序這樣的..
public static void ApplyTheme(string themeName)
{
if (string.IsNullOrEmpty(themeName) == false)
{
bool exist = false;
string themeFileName =
string.Format("/UrProject;component/Styles/{0}{1}", themeName, ".xaml");
theme.Source = new Uri(themeFileName, UriKind.RelativeOrAbsolute);
foreach (ResourceDictionary dictionary in Application.Current.Resources.MergedDictionaries)
{
if (string.Equals(dictionary.Source, themeFileName))
{
exist = true;
break;
}
}
if (exist == false)
{
Application.Current.Resources.MergedDictionaries.Add(theme);
}
}
}
相關問題
- 1. 嵌套資源
- 2. 嵌套資源
- 3. 嵌套資源
- 4. form_for嵌套資源
- 5. before_filter嵌套資源
- 6. Fields_for嵌套資源
- 7. 嵌套資源3
- 8. 資源字典
- 9. 嵌套字典
- 10. 嵌套字典
- 11. 嵌套字典
- 12. python字典:嵌套字典
- 13. Rails的路線,有嵌套的資源沒有嵌套資源
- 14. Rails嵌套資源的嵌套佈局
- 15. 的Rails的form_tag嵌套嵌套資源
- 16. 如何嵌套字符串資源?
- 17. 與資源字典
- 18. 多資源字典
- 19. Python嵌套字典
- 20. C#嵌套字典
- 21. 的嵌套字典
- 22. Python嵌套字典
- 23. 從嵌套字典
- 24. 嵌套字典C#
- 25. R嵌套字典
- 26. 嵌套的REST資源
- 27. 嵌套資源3級深
- 28. ROR:嵌套資源:NoMethodError
- 29. 路由和嵌套資源
- 30. 嵌套資源,並享有
感謝名單,我已經做了同樣的,沒有例外,但風格並不適用。 – Mohsen 2012-02-23 06:04:01
如何將主題應用於應用程序?你可以發佈代碼.. – vimal 2012-02-23 06:17:10
代碼是完全一樣XAML美國的書面,但風格不適應 – Mohsen 2012-02-23 08:26:56