mcpField
A
avalonia-layout-zafiro

avalonia-layout-zafiro

github.com/sickn33デザイン・UI48.7k621 回インストール今日更新
リポジトリ

avalonia-layout-zafiro について

avalonia-layout-zafiro は Zafiro.Avalonia を使った Avalonia UI レイアウト設計のスキルです。セマンティックなコンテナー、共有スタイル、再利用可能なコンポーネントを活用し、XAML を簡潔に保つ方法を扱います。

主な機能

  1. 01セマンティックなレイアウトコンテナー
  2. 02共有スタイルとテーマの指針
  3. 03拡張機能によるアイコン利用
  4. 04インタラクションビヘイビア
  5. 05再利用可能なコンポーネントとフラットなレイアウト

活用シーン

  1. 01Avalonia ビューの構成
  2. 02視覚プロパティの重複削減
  3. 03アイコンと UI インタラクションの追加
  4. 04再利用可能なレイアウトコンポーネントの改善

インストール

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

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill avalonia-layout-zafiro

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

同梱ファイル

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

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

詳細

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

モダンで、すっきりとした、保守しやすい Avalonia UI レイアウトを習得しましょう。 セマンティックなコンテナー、共有スタイル、最小限の XAML に重点を置きます。

🎯 選択的に読むためのルール

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


以下の 5 つのガイドが含まれていますが、作者のローカルにある Angor ソリューションは含まれていません。例は一部のみで、実際に使用する Avalonia、Zafiro、パッケージのバージョンと XML 名前空間宣言に合わせる必要があります。UntouchedClassBehavior とアイコンリソースが、そのインストール環境に存在することも確認してください。適切なコンバーターなしで MultiBinding が論理 And/Or を提供すると想定しないでください。また、スタイルファイルに Styles が含まれている場合、それらを ResourceDictionary リソースとして結合しないでください。ファイルのルート要素に応じて、スタイルコレクションには StyleInclude を、リソースディクショナリには ResourceInclude を使用してください。アイコンが利用しやすい状態を保ち、フォーカスやキーボード操作の挙動を維持し、ライト/ダークテーマ、テキストの拡大、ローカライズをテストしてください。コンバーターやコードビハインドを避けるのは設計上の好みであり、常に正しさやパフォーマンスを保証するルールではありません。

📑 コンテンツ一覧

ファイル説明読むタイミング
themes.mdテーマ構成と共有スタイルアプリのテーマを設定または改善するとき
containers.mdセマンティックコンテナー(HeaderedContainer、EdgePanel、Card)ビューとレイアウトを構成するとき
icons.mdIconExtension と IconOptions を使ったアイコンの使用アイコンを追加してカスタマイズするとき
behaviors.mdXaml.Interaction.Behaviors とコンバーターの回避複雑なインタラクションを実装するとき
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 を使用してください。
  • コンバーターを避けていますか? 必要な場合を除き、ViewModel のプロパティまたはビヘイビアを優先してください。

❌ アンチパターン

避けること:

  • ビューで色やサイズをハードコードすること(リテラルを使用すること)。
  • Grid と StackPanel を深く入れ子にすること。
  • 複数の要素で視覚的なプロパティを繰り返すこと(Styles を使用してください)。
  • ViewModel が担うべき単純なロジックに IValueConverter を使用すること。

実践すること:

  • 色やブラシには DynamicResource を使用してください。
  • 繰り返し使うレイアウトをジェネリックコンポーネントに切り出してください。
  • よくある UI パターンには EdgePanel など、Zafiro.Avalonia 固有のパネルを活用してください。

使用する場面

このスキルは、概要に記載されたワークフローまたはアクションを実行する際に適用できます。

制限事項

  • このスキルは、タスクが上記の範囲に明確に当てはまる場合にのみ使用してください。
  • 出力を、環境固有の検証、テスト、専門家によるレビューの代わりとして扱わないでください。
  • 必要な入力、権限、安全上の境界、成功基準が不足している場合は、いったん停止して確認してください。

コメント