mcpField
S
syncfusion-wpf-dropdownbuttonadv

syncfusion-wpf-dropdownbuttonadv

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

syncfusion-wpf-dropdownbuttonadv について

WPF アプリで Syncfusion の DropDownButtonAdv を実装するためのガイドです。メニュー構築、MVVM バインディング、ポップアップ動作、イベント、外観の設定を扱います。

主な機能

  1. 01静的項目とデータバインド項目
  2. 02MVVM コマンドバインディング
  3. 03ポップアップ方向とサイズ変更
  4. 04チェック項目とカスタムメニュー内容
  5. 05テーマ、アイコン、複数行ラベル

活用シーン

  1. 01選択肢を表示するドロップダウンの作成
  2. 02メニュー項目と ViewModel データの連携
  3. 03ポップアップ位置とサイズの設定
  4. 04メニュー開閉や項目イベントの処理

インストール

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

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

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

同梱ファイル

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

references/
command-binding.md
data-binding.md
dropdown-behavior.md
dropdown-menu-items.md
events-and-appearance.md
getting-started.md

詳細

WPF DropDownButtonAdv の実装

DropDownButtonAdv は、矢印をクリックするとポップアップメニューを表示する WPF ドロップダウンボタンコントロールです。アイコン付きメニュー項目、データバインディング、コマンドバインディング、設定可能なポップアップの方向、サイズ変更、複数行テキスト、テーマの完全なサポートに対応しています。

アセンブリ: Syncfusion.Shared.WPF
名前空間: Syncfusion.Windows.Tools.Controls
XAML スキーマ: xmlns:syncfusion="http://schemas.syncfusion.com/wpf"

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

  • オプションのドロップダウンリストを開くボタンが必要な場合
  • アイコン付き、チェック可能、またはグループ化された項目を含む WPF ドロップダウンボタンが必要な場合
  • DropDownButtonAdv、DropDownMenuGroup、DropDownMenuItem について確認したい場合
  • ドロップダウンメニュー項目の MVVM バインディングまたはコマンドバインディングが必要な場合
  • ポップアップの方向、サイズ変更、または複数行ラベルを制御したい場合
  • ドロップダウンの開閉イベントや項目クリックイベントの処理方法を確認したい場合

クイックスタート

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

<syncfusion:DropDownButtonAdv Label="Country" SizeMode="Normal" SmallIcon="Images/flag.png">
    <syncfusion:DropDownMenuGroup>
        <syncfusion:DropDownMenuItem HorizontalAlignment="Left" Header="India">
            <syncfusion:DropDownMenuItem.Icon>
                <Image Source="Images/india.png"/>
            </syncfusion:DropDownMenuItem.Icon>
        </syncfusion:DropDownMenuItem>
        <syncfusion:DropDownMenuItem HorizontalAlignment="Left" Header="France"/>
        <syncfusion:DropDownMenuItem HorizontalAlignment="Left" Header="Germany"/>
    </syncfusion:DropDownMenuGroup>
</syncfusion:DropDownButtonAdv>
// C# equivalent
DropDownButtonAdv button = new DropDownButtonAdv();
button.Label = "Country";
button.SizeMode = SizeMode.Normal;
button.SmallIcon = new BitmapImage(new Uri("Images/flag.png", UriKind.RelativeOrAbsolute));
DropDownMenuGroup menu = new DropDownMenuGroup();
menu.Items.Add(new DropDownMenuItem { Header = "India", HorizontalAlignment = HorizontalAlignment.Left });
button.Content = menu;

よく使われるパターン

目的方法
静的なメニュー項目DropDownMenuGroup 内に DropDownMenuItem を直接宣言します
データから項目を動的に表示するDropDownMenuGroup.ItemsSource をバインドし、ItemTemplate を使用します
項目クリック時の MVVM コマンドDropDownMenuItem に Command と CommandParameter を設定します
ポップアップを左下に表示するDropDirection="BottomLeft"(既定値)
ラベルを折り返す大型ボタンSizeMode="Large" と IsMultiLine="True" を設定します
チェック可能な項目DropDownMenuItem に IsCheckable="True" を設定します
メニュー内にカスタム UIElement を表示するDropDownMenuGroup.MoreItems プロパティを使用します
長いリストをスクロール可能にするグループに MaxHeight と ScrollBarVisibility="Visible" を設定します
サイズ変更可能なポップアップDropDownMenuGroup に IsResizable="True" を設定します

主なプロパティ

プロパティ型説明
Labelstringボタンのテキストラベル
SizeModeSizeMode小/標準/大
SmallIconImageSource小および標準モード用のアイコン
LargeIconImageSource大モード用のアイコン
IconTemplateDataTemplateベクター/パスアイコンのテンプレート(画像アイコンより優先)
IconTemplateSelectorDataTemplateSelector条件に応じてアイコンテンプレートを選択します
IconWidth / IconHeightdoubleアイコンの寸法
DropDirectionDropDirectionポップアップの位置(既定値:BottomLeft)
IsMultiLinebool複数行ラベル(大モードのみ)
DropDownMenuGroup.ItemsSourceIEnumerableデータバインドされたメニュー項目
DropDownMenuGroup.IconBarEnabledbool縦型アイコンバーを表示します
DropDownMenuGroup.ScrollBarVisibilityScrollBarVisibilityポップアップ内のスクロールバー
DropDownMenuGroup.IsResizableboolポップアップのサイズ変更用グリッパー
DropDownMenuGroup.MoreItemsObservableCollection<UIElement>カスタムの下部項目
DropDownMenuItem.IsCheckableboolチェック/チェック解除を可能にします
DropDownMenuItem.CommandICommandMVVM コマンド
DropDownMenuItem.CommandParameterobjectコマンドパラメーター

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

はじめに

📄 参照: references/getting-started.md

  • アセンブリ参照(Syncfusion.Shared.WPF)
  • デザイナー、XAML、または C# から追加する方法
  • Label、SizeMode(小/標準/大)の設定
  • SmallIcon、LargeIcon、IconWidth/IconHeight
  • IconTemplate と IconTemplateSelector
  • メニュー項目をインラインで追加する基本的な方法
  • SfSkinManager を使用したテーマの適用
ドロップダウンメニュー項目

📄 参照: references/dropdown-menu-items.md

  • コンテナー要素としての DropDownMenuGroup
  • Header と Icon を含む宣言的な DropDownMenuItem
  • IconBarEnabled(縦型アイコンバー)
  • 長い項目リスト向けの ScrollBarVisibility
  • ポップアップのサイズ変更用グリッパーとしての IsResizable
  • チェック可能な項目向けの IsCheckable / IsChecked
  • カスタム UIElement を追加するための MoreItems
  • IsMoreItemsIconTrayEnabled
データバインディング

📄 参照: references/data-binding.md

  • Model と ViewModel のパターン
  • DropDownMenuGroup.ItemsSource のバインド
  • DataTemplate を使用した ItemTemplate
  • x:Reference を使用して ViewModel から DropDownMenuItem.Command をバインド
  • DelegateCommand<T> を使用した完全な MVVM の例
  • データバインディングと宣言的な項目の使い分け
コマンドバインディング

📄 参照: references/command-binding.md

  • DropDownMenuItem の Command と CommandParameter
  • DelegateCommand<T> の実装
  • CanExecute と CanPerformAction の切り替えパターン
  • 宣言的な XAML での ViewModel コマンドへのバインド
  • 注意点:DataTemplate 内でのコマンドのスコープ設定
ドロップダウンの動作

📄 参照: references/dropdown-behavior.md

  • DropDirection 列挙型:Left、Right、BottomLeft、BottomRight、TopLeft、TopRight
  • 既定の方向は BottomLeft です
  • 長いラベルを折り返す IsMultiLine(Large モードのみ)
  • RTL サポートのための FlowDirection
イベントと外観

📄 参照: references/events-and-appearance.md

  • DropDownOpening / DropDownOpened イベント(キャンセルをサポート)
  • DropDownClosing / DropDownClosed イベント
  • DropDownMenuItem.Click イベント
  • DropDownMenuItem.IsCheckedChanged イベント
  • Expression Blend または Visual Studio でのコントロールテンプレートの編集
  • SfSkinManager のテーマと ThemeStudio のカスタムテーマ

コメント