在运行时,我希望将应用的主主题(* 在本例中为浅色主题 *)更改为深色主题。
我用的是C#编程语言,用的是WPF项目模板.而且在这个项目中.
我在项目中安装了MaterialDesignThemes
库,默认情况下,我将其设置为light主题。
<materialDesign:BundledTheme BaseTheme="Light" PrimaryColor="DeepPurple" SecondaryColor="DeepOrange" />
现在我想创建一种机制,可以在应用程序运行时将主题从亮更改为暗。
1条答案
按热度按时间bmp9r5qi1#
我们可以将此问题分为两种情况:
仅使用代码隐藏
示例:
代码隐藏:
使用MVVM架构
示例:
视图模型:
注解
您可能已经注意到,MainViewModel由名为
ViewModelBase
的类继承,并且在该类的构造函数中,使用ViewModelCommand
类创建了一个示例。为了理解这些类是什么,您需要知道如何在项目中实现MVVM体系结构。
总的来说,可以说:
查看模型库
void OnPropertyChange(string property);
,该事件负责通知前端(View)中对属性所做的每一次更改。查看模型命令
RelayCommand
,是以通用方式处理每个事件的类。当涉及到事件时,在其余的ViewModel中,ICommand
类型的ReadOnly属性被用作View控件中的触发器,如<ToggleButton/>
的情况。