SuperAPI AI 工具集

wpf-rule-resourcedictionary-patterns

通用与其它

查看项目

更新于 10-15 20:12

技能介绍

用途:为 WPF 自定义控件库提供 ResourceDictionary 文件的组织规范,避免样式与资源混杂,便于维护和主题切换。

主要能力与规则:

  1. Generic.xaml 只作为 MergedDictionaries 汇总入口,通过 ResourceDictionary.MergedDictionaries 合并其他字典,禁止在其中直接定义内联样式、模板或资源。
  2. 每个自定义控件样式单独放在 Themes/ 下的 XAML 文件中,例如 Colors.xaml 存放共享颜色与画刷,MyButton.xaml、MyTextBox.xaml、MySlider.xaml 分别存放对应控件的 ControlTemplate。
  3. 单个 XAML 文件内资源定义顺序:先定义带 x:Key 的命名资源(颜色、画刷、几何、转换器),再定义引用这些资源的 Style。
  4. 资源引用方式:同一文件或更早合并的字典中的资源用 StaticResource;需要运行时替换(如主题切换)或定义在更晚合并字典中的资源用 DynamicResource;ControlTemplate 内部引用用 TemplateBinding。默认优先 StaticResource,因其在加载时解析、无运行时开销。

使用方式:按上述目录结构组织 Themes 文件夹,在 Generic.xaml 中仅列出各字典的 Source 路径,在控件样式文件中按命名资源、样式的顺序编写。

适用场景:WPF 自定义控件库、需要多主题或运行时换肤的项目。

限制:资料未提供具体安装命令、依赖版本、平台要求或收费信息。