mcpField
S
syncfusion-wpf-card-view

syncfusion-wpf-card-view

github.com/syncfusionデザイン・UI5163 回インストール1 週間前に更新
リポジトリ

syncfusion-wpf-card-view について

WPF でバインドしたデータをカード表示する Syncfusion CardView の利用スキルです。グループ化、並べ替え、フィルター、インライン編集、テンプレート、テーマ、ローカライズを扱い、データ操作には ItemsSource のバインドが必要です。

主な機能

  1. 01バインドした項目のカード表示
  2. 02項目のグループ化、並べ替え、フィルター
  3. 03カード内容のインライン編集
  4. 04ヘッダー、本文、編集テンプレートの調整
  5. 05テーマとローカライズの設定

活用シーン

  1. 01WPF のカードレイアウトでコレクションを表示
  2. 02フィールド別にカードをグループ化
  3. 03バインド項目の並べ替え、絞り込み、編集
  4. 04カードテンプレートと表示文字列の調整

インストール

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

$npx skills add https://github.com/syncfusion/wpf-ui-components-skills --skill syncfusion-wpf-card-view

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

同梱ファイル

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

references/
data-binding-and-templates.md
editing.md
getting-started.md
grouping.md
localization.md
sorting-and-filtering.md

詳細

CardView(WPF)の実装

組み込みのグループ化、並べ替え、フィルタリング、インライン編集機能を備え、項目を視覚的なカードとして整理するパネルコントロールです。

このスキルを使用する場面

次のような場合に、このスキルを使用します。

  • WPF アプリケーションでデータ項目のコレクションをカードとして表示する
  • カード項目のグループ化、並べ替え、フィルタリングを有効にする
  • カード項目にインライン編集を追加する(F2/ダブルクリック)
  • テンプレートを使用してカードのヘッダー、本文、編集 UI をカスタマイズする
  • カード項目を ObservableCollection にバインドする(MVVM)
  • テーマを適用する、または CardView の文字列をローカライズする

注: グループ化、並べ替え、フィルタリング、編集には、ItemsSource データバインディングが必要です。これらの機能は、宣言的な CardViewItem の子要素では動作しません。


コンポーネントの概要

クラス名前空間用途
CardViewSyncfusion.Windows.Tools.Controlsカード項目用のコンテナパネル
CardViewItemSyncfusion.Windows.Tools.Controls個々のカード(宣言的な使用)

必要なアセンブリ: Syncfusion.Shared.WPF + Syncfusion.Tools.WPF

XAML 名前空間:

xmlns:syncfusion="http://schemas.syncfusion.com/wpf"

ドキュメントとナビゲーションガイド

はじめに

📄 参照: references/getting-started.md

  • アセンブリと名前空間の設定
  • デザイナー、XAML、または C# で CardView を追加する
  • 宣言的な CardViewItem の使用方法
  • ItemsSource データバインディングの使用方法
  • SelectedItem、IsSelected、SelectedItemChanged
  • Orientation(Horizontal/Vertical)
  • SfSkinManager のテーマ設定
データバインディングとテンプレート

📄 参照: references/data-binding-and-templates.md

  • Model + ViewModel + ObservableCollection の完全なパターン
  • HeaderTemplate — カードヘッダーの表示
  • ItemTemplate — 表示モードでのカード本文
  • EditItemTemplate — 編集モードでのカード本文
  • ItemContainerStyle と ItemContainerStyleSelector
  • RTL レイアウト用の FlowDirection
  • SfSkinManager のビジュアルスタイルのリファレンス
グループ化

📄 参照: references/grouping.md

  • CanGroup の有効化/無効化
  • フィールドをグループヘッダーにドラッグ&ドロップする
  • GroupCards(string) によるプログラムでのグループ化
  • 入れ子/複数レベルのグループ化
  • ShowHeader でグループ化領域を非表示にする
並べ替えとフィルタリング

📄 参照: references/sorting-and-filtering.md

  • CanSort の有効化/無効化。フィールド名をクリックして並べ替え順序を切り替える
  • ドロップ領域を使用して、グループ化された項目を並べ替える
  • ポップアップからフィールド値を選択してフィルタリングする(ShowHeader="True" の場合に有効)
  • フィルターのクリアボタンの動作
  • ShowHeader で並べ替え/フィルタリングのヘッダーを非表示にする
編集

📄 参照: references/editing.md

  • CanEdit の有効化/無効化(既定値は false)
  • F2/ダブルクリックで編集モードに入り、Esc/Enter で終了する
  • EditItemTemplate の要件とパターン
  • BeginEdit()/EndEdit() によるプログラムでの制御
  • 編集 UI のカスタムスタイル設定
ローカライズ

📄 参照: references/localization.md

  • CurrentUICulture の設定
  • リソースファイルの命名規則
  • Name/Value ペアの設定
  • フランス語カルチャーの例

クイックスタートの例

データバインディングとグループ化/並べ替えを備えた最小構成の CardView:


<Window xmlns:syncfusion="http://schemas.syncfusion.com/wpf">
    <Window.DataContext>
        <local:ViewModel/>
    </Window.DataContext>
    <syncfusion:CardView ItemsSource="{Binding CardViewItems}"
                         CanGroup="True"
                         CanSort="True"
                         Name="cardView">
        <syncfusion:CardView.HeaderTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding FirstName}"/>
            </DataTemplate>
        </syncfusion:CardView.HeaderTemplate>
        <syncfusion:CardView.ItemTemplate>
            <DataTemplate>
                <ListBox ScrollViewer.HorizontalScrollBarVisibility="Disabled">
                    <ListBoxItem>
                        <StackPanel Orientation="Horizontal">
                            <TextBlock Text="Name: " FontWeight="Bold"/>
                            <TextBlock Text="{Binding FirstName}"/>
                        </StackPanel>
                    </ListBoxItem>
                    <ListBoxItem>
                        <StackPanel Orientation="Horizontal">
                            <TextBlock Text="Age: " FontWeight="Bold"/>
                            <TextBlock Text="{Binding Age}"/>
                        </StackPanel>
                    </ListBoxItem>
                </ListBox>
            </DataTemplate>
        </syncfusion:CardView.ItemTemplate>
    </syncfusion:CardView>
</Window>
// ViewModel.cs
public class ViewModel : NotificationObject
{
    private ObservableCollection<Person> _items;
    public ObservableCollection<Person> CardViewItems
    {
        get => _items;
        set { _items = value; RaisePropertyChanged(nameof(CardViewItems)); }
    }
    public ViewModel()
    {
        CardViewItems = new ObservableCollection<Person>
        {
            new Person { FirstName = "Alice", LastName = "Smith", Age = 30 },
            new Person { FirstName = "Bob",   LastName = "Jones", Age = 25 },
            new Person { FirstName = "Carol", LastName = "Smith", Age = 28 },
        };
    }
}

一般的なパターン

シナリオプロパティ/メソッド
すべてのインタラクティブモードを有効にするCanGroup="True" CanSort="True" CanEdit="True"
フィールドでプログラムからグループ化するcardView.GroupCards("LastName")
プログラムで編集を制御するcardView.BeginEdit() / cardView.EndEdit()
グループ化/並べ替え/フィルタリングのヘッダーを非表示にするShowHeader="False"
RTL レイアウトFlowDirection="RightToLeft"
選択に応じて処理するSelectedItemChanged イベントを処理する
テーマを適用するSfSkinManager.SetVisualStyle(cardView, VisualStyles.FluentLight)

主なプロパティ

プロパティ型デフォルト説明
ItemsSourceIEnumerablenullバインドするデータコレクション
SelectedItemobjectnull現在選択されているカード
OrientationOrientationHorizontalカードのレイアウト方向
CanGroupboolfalseドラッグ&ドロップによるグループ化を有効にします
CanSortbooltrueフィールドのクリックによる並べ替えを有効にします
CanEditboolfalseインライン編集を有効にします
ShowHeaderbooltrueグループ化/並べ替え/フィルターのヘッダーを表示または非表示にします
HeaderTemplateDataTemplate—カードヘッダーの表示テンプレート
ItemTemplateDataTemplate—表示モードでのカード本文
EditItemTemplateDataTemplate—編集モードでのカード本文
ItemContainerStyleStyle—各カードコンテナーに適用するスタイル

コメント