Avalonia viewmodels zafiro
Skill ComeOnOliver/skillshub/skills/aiskillstore/marketplace/sickn33/avalonia-viewmodels-zafiro
Optimal ViewModel and Wizard creation patterns for Avalonia using Zafiro and ReactiveUI.From its SKILL.md
npx -y skills add ComeOnOliver/skillshub --skill avalonia-viewmodels-zafiroAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
1.6 KB, 325 tokens by cl100k_base, as published. Nobody here has run it
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.
What ships with it
16.8 KB alongside SKILL.md
GitHub clipped this repository’s file list, so this is at least 5 files and may be more.
- composition.md2.2 KB
- navigation_sections.md1.3 KB
- skill-report.json10.1 KB
- viewmodels.md1.7 KB
- wizards.md1.5 KB