AGENT SKILL
avalonia-viewmodels-zafiro
Optimal ViewModel and Wizard creation patterns for Avalonia using Zafiro and ReactiveUI.
- License 许可
- MIT
- 最近更新
- 2026-06-24
- Stars
- ★ 66
- Forks
- 24
01 前言 Front Matter
- name
- avalonia-viewmodels-zafiro
- description
- Optimal ViewModel and Wizard creation patterns for Avalonia using Zafiro and ReactiveUI.
02 资源文件 5
- 参考文档composition.md2.2 KB
- 参考文档navigation_sections.md1.3 KB
- 参考文档skill-report.json10.1 KB
- 参考文档viewmodels.md1.7 KB
- 参考文档wizards.md1.5 KB
03 SKILL.md 正文
Avalonia ViewModels with Zafiro
This skill provides a set of best practices and patterns for creating ViewModels, Wizards, and managing navigation in Avalonia applications, leveraging the power of ReactiveUI and the Zafiro toolkit.
Core Principles
- Functional-Reactive Approach: Use ReactiveUI (
ReactiveObject,WhenAnyValue, etc.) to handle state and logic. - Enhanced Commands: Utilize
IEnhancedCommandfor better command management, including progress reporting and name/text attributes. - Wizard Pattern: Implement complex flows using
SlimWizardandWizardBuilderfor a declarative and maintainable approach. - Automatic Section Discovery: Use the
[Section]attribute to register and discover UI sections automatically. - Clean Composition: map ViewModels to Views using
DataTypeViewLocatorand manage dependencies in theCompositionRoot.
Guides
- ViewModels & Commands: Creating robust ViewModels and handling commands.
- Wizards & Flows: Building multi-step wizards with
SlimWizard. - Navigation & Sections: Managing navigation and section-based UIs.
- Composition & Mapping: Best practices for View-ViewModel wiring and DI.
Example Reference
For real-world implementations, refer to the Angor project:
CreateProjectFlowV2.cs: Excellent example of complex Wizard building.HomeViewModel.cs: Simple section ViewModel using functional-reactive commands.