Avalonia 中可通过 StyleInclude 将样式提取到独立 .axaml 文件实现复用与解耦,支持全局(App.axaml)或局部(UserControl/Window)引入,路径格式为 resm: 命名空间?assembly=程序集 或相对路径,需注意生成操作、大小写及 Selector 语法。
在 Avalonia 中,可以通过 StyleInclude 将 XAML 样式提取到独立的资源文件中,实现样式复用与维护解耦。
新建一个 .axaml 文件(例如 CommonStyles.axaml),并在根节点使用 Styles 容器声明样式:
在 App.axaml 或窗口/用户控件的 Styles 节点中,用 StyleInclude 加载外部样式:
resm: 协议 + 命名空间路径 + ?assembly=,确保文件生成操作为 EmbeddedResource
Source="CommonStyles.axaml"(需设为 Resource 类型)除全局注册外,也可在单个控件内部按需引入:
StyleInclude,但注意循环引用风险样式未生效时可检查以下几点:
EmbeddedResource(用 resm:)或 Resource(用相对路径)Source 中的命名空间和程序集名称是否与实际一致(大小写敏感)Button.primary 而非 Button(后者是伪类,需配合 :pressed 等使用)