咨询Material Design所有可用样式列表(C#/WPF/XAML项目)
如何找到WPF Material Design的所有可用样式列表
嘿,我刚好折腾过WPF的Material Design项目,给你几个实用的方法来找到所有可用的样式:
1. 直接查看NuGet包的主题XAML文件
如果你是通过NuGet安装的MaterialDesignThemes包,最直接的方式就是去看它自带的主题资源文件:
- 在你的项目目录下,找到
packages文件夹(如果用PackageReference的话,也可以通过Visual Studio的“依赖项”→“NuGet”→右键点击MaterialDesignThemes.Wpf→“查看文件”) - 进入
Themes子目录,每个控件都有对应的XAML文件(比如MaterialDesignTheme.CheckBox.xaml、MaterialDesignTheme.Button.xaml),里面明确定义了所有样式的StaticResourceKey,比如你提到的MaterialDesignActionDarkCheckBox就藏在CheckBox的主题文件里。 - 另外,
MaterialDesignTheme.Defaults.xaml是全局默认样式的汇总,也能找到不少通用样式。
2. 用Visual Studio的属性面板预览选择
在Visual Studio的XAML设计器里操作,非常直观:
- 确保你已经在
App.xaml中正确引用了Material Design的资源字典(这一步是前提,不然资源不会加载):<Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <materialDesign:BundledTheme BaseTheme="Light" PrimaryColor="DeepPurple" SecondaryColor="Lime" /> <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml" /> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Application.Resources> - 选中一个控件(比如CheckBox),打开右侧的“属性”面板,找到“样式”选项,点击下拉框选择“本地资源”或“系统资源”,就能看到所有可用的Material Design样式,还能实时预览效果。
3. 查看项目源码的注释和文档
项目的官方源码仓库里,每个主题XAML文件的开头都会有注释,说明该文件包含的所有样式Key。另外,仓库里的说明文档也会整理常用样式的清单,但最完整的还是直接看XAML源码——毕竟所有样式都是在这里定义的。
4. 用代码枚举所有已加载的样式
如果想在运行时快速排查所有可用样式,可以写一段简单的C#代码:
foreach (var key in Application.Current.Resources.Keys) { if (Application.Current.Resources[key] is Style style) { Debug.WriteLine($"样式Key: {key}, 目标控件: {style.TargetType.Name}"); } }
运行这段代码后,输出窗口会列出所有加载的样式Key及其对应的目标控件类型,帮你快速定位到需要的样式。
内容的提问来源于stack exchange,提问作者Rafal010101
相关产品推荐
相关产品推荐

