syncfusion-wpf-dropdownbuttonadv
Original:🇺🇸 English
Translated
Implement Syncfusion WPF DropDownButtonAdv for dropdown button controls with popup menus. Use this when adding a dropdown button, dropdown menu, or button with a list of options in WPF. Covers menu items, data binding, command binding, dropdown direction, events, multiline text, styles, and themes.
10installs
Added on
NPX Install
npx skill4agent add syncfusion/wpf-ui-components-skills syncfusion-wpf-dropdownbuttonadvTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Implementing WPF DropDownButtonAdv
The is a WPF dropdown button control that displays a popup menu when the arrow is clicked. It supports menu items with icons, data binding, command binding, configurable popup direction, resizing, multiline text, and full theme support.
DropDownButtonAdvAssembly:
Namespace:
XAML Schema:
Syncfusion.Shared.WPFNamespace:
Syncfusion.Windows.Tools.ControlsXAML Schema:
xmlns:syncfusion="http://schemas.syncfusion.com/wpf"When to Use This Skill
- User wants a button that opens a dropdown list of options
- User needs a WPF dropdown button with icons, checkable items, or grouped items
- User asks about ,
DropDownButtonAdv,DropDownMenuGroupDropDownMenuItem - User needs MVVM binding for dropdown menu items or command binding
- User needs to control popup direction, resizing, or multiline label
- User asks how to handle dropdown open/close events or item click events
Quick Start
xaml
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>csharp
// 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;Common Patterns
| Goal | Approach |
|---|---|
| Static menu items | Declare |
| Dynamic items from data | Bind |
| MVVM command on item click | Set |
| Popup opens below-left | |
| Large button with label wrapping | |
| Checkable items | |
| Custom UIElement in menu | Use |
| Scrollable long list | Set |
| Resizable popup | |
Key Properties
| Property | Type | Description |
|---|---|---|
| | Button text label |
| | Small / Normal / Large |
| | Icon for Small and Normal modes |
| | Icon for Large mode |
| | Vector/path icon template (overrides image icons) |
| | Conditionally select icon template |
| | Icon dimensions |
| | Popup position (default: BottomLeft) |
| | Multi-line label (Large mode only) |
| | Data-bound menu items |
| | Show vertical icon bar |
| | Scrollbar in popup |
| | Resize gripper on popup |
| | Custom bottom items |
| | Allow check/uncheck |
| | MVVM command |
| | Command parameter |
Documentation and Navigation Guide
Getting Started
📄 Read: references/getting-started.md
- Assembly reference ()
Syncfusion.Shared.WPF - Add via designer, XAML, or C#
- Setting ,
Label(Small/Normal/Large)SizeMode - SmallIcon, LargeIcon, IconWidth/IconHeight
- IconTemplate and IconTemplateSelector
- Basic menu items inline
- Applying themes with SfSkinManager
Dropdown Menu Items
📄 Read: references/dropdown-menu-items.md
- as the container element
DropDownMenuGroup - Declarative with Header and Icon
DropDownMenuItem - (vertical icon strip)
IconBarEnabled - for long item lists
ScrollBarVisibility - gripper for popup resize
IsResizable - /
IsCheckablefor checkable itemsIsChecked - for custom UIElement additions
MoreItems IsMoreItemsIconTrayEnabled
Data Binding
📄 Read: references/data-binding.md
- Model and ViewModel pattern
- Binding
DropDownMenuGroup.ItemsSource - with
ItemTemplateDataTemplate - Binding from ViewModel via
DropDownMenuItem.Commandx:Reference - Full MVVM example with
DelegateCommand<T> - When to use data binding vs declarative items
Command Binding
📄 Read: references/command-binding.md
- and
CommandonCommandParameterDropDownMenuItem - implementation
DelegateCommand<T> - and
CanExecutetoggle patternCanPerformAction - Binding to ViewModel commands in declarative XAML
- Gotchas: scoping commands in DataTemplates
Dropdown Behavior
📄 Read: references/dropdown-behavior.md
- enum: Left, Right, BottomLeft, BottomRight, TopLeft, TopRight
DropDirection - Default direction is
BottomLeft - for wrapping long labels (Large mode only)
IsMultiLine - for RTL support
FlowDirection
Events & Appearance
📄 Read: references/events-and-appearance.md
- /
DropDownOpeningevents (cancel support)DropDownOpened - /
DropDownClosingeventsDropDownClosed - event
DropDownMenuItem.Click - event
DropDownMenuItem.IsCheckedChanged - Editing control template in Expression Blend or Visual Studio
- SfSkinManager themes + ThemeStudio custom themes