mcpField
A
avalonia-layout-zafiro

avalonia-layout-zafiro

github.com/davila7デザイン・UI33.0k188 回インストール1 日前に更新
リポジトリ

avalonia-layout-zafiro について

Zafiro.Avalonia を使った Avalonia レイアウトの設計・改善を支援するスキルです。セマンティックなコンテナー、共有スタイル、再利用可能なコンポーネント、XAML のネスト削減を重視します。

主な機能

  1. 01セマンティックなレイアウトコンテナー
  2. 02共有スタイルとテーマの構成
  3. 03IconExtension と IconOptions の利用
  4. 04Interaction.Behaviors による UI ロジック
  5. 05再利用可能なコンポーネントとフラットなレイアウト

活用シーン

  1. 01HeaderedContainer や EdgePanel によるビュー構成
  2. 02アプリのテーマと共有スタイルの整理
  3. 03Avalonia ビューへのアイコン追加とスタイル設定
  4. 04深いネストを再利用可能なコンポーネントに置き換え

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/davila7/claude-code-templates --skill avalonia-layout-zafiro

インストール後、Claude Code で/avalonia-layout-zafiroを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

behaviors.md
components.md
containers.md
icons.md
themes.md

詳細

Zafiro.Avalonia を使った Avalonia レイアウト

モダンでクリーンかつ保守しやすい Avalonia UI レイアウトを習得しましょう。 セマンティックコンテナ、共有スタイル、最小限の XAML に焦点を当てます。

🎯 選択的読み取りルール

レイアウトの課題に関連するファイルだけを読んでください!


📑 コンテンツマップ

ファイル説明読むタイミング
themes.mdテーマの構成と共有スタイルアプリのテーマを設定または改良するとき
containers.mdセマンティックコンテナ(HeaderedContainer、EdgePanel、Card)ビューやレイアウトを構成するとき
icons.mdIconExtension と IconOptions を使ったアイコンの利用アイコンを追加またはカスタマイズするとき
behaviors.mdXaml.Interaction.Behaviors と Converter の回避複雑なインタラクションを実装するとき
components.mdジェネリックコンポーネントとネストの回避再利用可能な UI 要素を作成するとき

🔗 関連プロジェクト(模範的な実装)

実際の例については、Angor プロジェクトを参照してください: /mnt/fast/Repos/angor/src/Angor/Avalonia/Angor.Avalonia.sln


✅ クリーンなレイアウトのためのチェックリスト

  • セマンティックコンテナを使用しているか?(例:手動でヘッダーを作る Border の代わりに HeaderedContainer を使う)
  • 冗長なプロパティを避けているか? axaml ファイルの共有スタイルを使用してください。
  • ネストを最小限にしているか? EdgePanel やジェネリックコンポーネントを使ってレイアウトをフラットにしてください。
  • アイコンは拡張機能経由か? スタイリングには {Icon fa-name} と IconOptions を使用してください。
  • コードビハインドよりビヘイビアを優先しているか? UI ロジックには Interaction.Behaviors を使用してください。
  • Converter を避けているか? 必要がない限り、ViewModel のプロパティやビヘイビアを優先してください。

❌ アンチパターン

やってはいけないこと:

  • ビューでハードコードされた色やサイズ(リテラル)を使う。
  • Grid と StackPanel を深くネストする。
  • 複数の要素で同じ見た目のプロパティを繰り返す(スタイルを使ってください)。
  • ViewModel に置くべき単純なロジックに IValueConverter を使う。

推奨事項:

  • 色やブラシには DynamicResource を使用する。
  • 繰り返し現れるレイアウトはジェネリックコンポーネントに切り出す。
  • 一般的な UI パターンには、Zafiro.Avalonia 固有のパネル(EdgePanel など)を活用する。

コメント