从零开始搭建Maui框架07-多主题切换
Maui的多主题切换,官方给了例子
添加主题文件
- 新增
ResourceDictionary
命名LightTheme - 新增
ResourceDictionary
命名DarkTheme
设置默认主题
将上面创建的任一主题资源文件合并到App.xaml
中
使用主题资源
再依赖属性上,使用 DynamicResource
拓展标记使用主题资源
1 |
|
在运行时加载主题
在运行时选定了主题时,应用应执行以下操作:
- 从应用中删除当前主题。 这是通过清除应用级别 ResourceDictionary 的
MergedDictionaries
属性实现的。 - 加载所选主题。 这是通过将所选主题的实例添加到应用级别 ResourceDictionary 的
MergedDictionaries
属性来实现的。
然后,任何使用 DynamicResource
标记扩展设置属性的 VisualElement 对象都将应用新的主题值。 这是因为 DynamicResource
标记扩展要保留一个到字典键的链接。 因此,当替换与键关联的值时,会将更改应用于 VisualElement 对象。
1 |
|
上一章使用的UraniumUI使用的是静态资源,使用这种方式不能修改UraniumUI控件的主题资源
上一章
从零开始搭建Maui框架07-多主题切换
hhttps://user121238.github.io/2024/11/19/从零开始搭建Maui框架07-多主题切换/