关于 Acss
Acss
Avalonia Css 不遵循 CSS(Cascading Style Sheets)标准。它是用来分离 Avalonia UI 的结构和样式的。因为概念和语法上和 CSS 类似,因此我们仍然借用这个名字,将其命名为 Avalonia Css,或者 Acss。
Acss 的优势
我们通过 Acss 将 Avalonia 的 axaml 拆分为结构和样式。结构定义 UI 的骨骼,类似于 Html 的角色。样式定义 UI 的样貌,类似于 CSS 的角色。这样做有以下好处:
1. 结构分离。
开发人员编写页面逻辑和页面功能时,不需要考虑 UI 的样式,专注于功能;而在修改样式时也可以独立而连续地专注于主题样式。
连续专注让我们的工作更加顺滑,优雅,且事半功倍。
2. 结构重用。
UI 的结构可以重用,针对不同主题,不需要重新编写结构的代码,高效且安全。
3. 动态加载。
Acss 支持代码源的热更新(热重载),更新后即时生效。
4. 过滤控制。(开发中...)
对于样式可以做更复杂的控制功能,包括属性控制、样式控制、资源控制、动画控制、主题控制等。例如,我们可以根据指定条件控制是否显示动画、Transitions,控制生效的样式、资源分组等。
5. 行为扩展。
我们对 Acss 内置了一些通用行为。例如“Esc
键关闭窗口”等。你也可以扩展自己的 Acss 行为。
6. 语法扩展。
基于 Acss 我们可以扩展一些 axaml 不支持的语法,例如样式多继承和跨类型重用。
Acss 样式可以继承多个样式模板(多继承),可以继承通用样式模板(跨类型继承)。
7. 样式调试。(计划中...)
我们计划提供样式调试工具,方便开发期间浏览一切和 Acss 样式、资源等有关的信息。
8. 自定义绘制。(计划中...)
我们计划让 Acss 支持在任意控件上进行自定义的绘制操作。
最后更新于
这有帮助吗?