avalonia-viewmodels-zafiro について
ReactiveUI と Zafiro を使った Avalonia の ViewModel、ウィザード、ナビゲーションのパターンをまとめたガイドです。アプリ開発者向けに、コマンド管理、セクション検出、View と ViewModel の構成を扱います。
主な機能
- 01ReactiveUI による状態とロジックのパターン
- 02進捗報告に対応する拡張コマンド
- 03SlimWizard と WizardBuilder によるフロー
- 04Section 属性による UI セクションの自動検出
- 05DataTypeViewLocator と依存関係の構成
活用シーン
- 01リアクティブな Avalonia ViewModel の構築
- 02複数ステップのウィザード実装
- 03UI セクションの自動登録と検出
- 04View と ViewModel のマッピングおよび依存関係の設定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ davila7/ claude-code-templates --skill avalonia-viewmodels-zafiroインストール後、Claude Code で/avalonia-viewmodels-zafiroを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
composition.mdnavigation_sections.mdviewmodels.mdwizards.md詳細
Zafiro を使った Avalonia ViewModel
このスキルは、ReactiveUI と Zafiro ツールキットの機能を活用し、Avalonia アプリケーションにおける ViewModel、ウィザード、ナビゲーション管理の作成に関するベストプラクティスとパターンを提供します。
基本原則
- 関数型リアクティブアプローチ: 状態とロジックの処理には ReactiveUI(
ReactiveObject、WhenAnyValueなど)を使用します。 - 拡張コマンド: 進捗報告や名前・テキスト属性を含め、より優れたコマンド管理のために
IEnhancedCommandを利用します。 - ウィザードパターン: 宣言的で保守しやすいアプローチのために、
SlimWizardとWizardBuilderを使って複雑なフローを実装します。 - セクションの自動検出:
[Section]属性を使用して、UI セクションを自動的に登録・検出します。 - クリーンな構成:
DataTypeViewLocatorで ViewModel を View にマッピングし、CompositionRootで依存関係を管理します。
ガイド
- ViewModel とコマンド: 堅牢な ViewModel の作成とコマンドの処理。
- ウィザードとフロー:
SlimWizardを使った複数ステップのウィザードの構築。 - ナビゲーションとセクション: ナビゲーションとセクションベースの UI の管理。
- 構成とマッピング: View と ViewModel の接続および DI のベストプラクティス。
実例リファレンス
実際の実装例については、Angor プロジェクトを参照してください:
CreateProjectFlowV2.cs: 複雑なウィザード構築の優れた例。HomeViewModel.cs: 関数型リアクティブコマンドを使用したシンプルなセクション ViewModel。
コメント
Markdown 対応