mcpField
S
syncfusion-wpf-navigation-pane

syncfusion-wpf-navigation-pane

github.com/syncfusionDesign & UI5158 installsUpdated 1w ago
Repository

About syncfusion-wpf-navigation-pane

A guide for WPF developers implementing Syncfusion GroupBar as a navigation pane with categorized items and custom controls in expandable sections. It covers visual modes, data binding, drag-and-drop reordering, and state persistence.

Key features

  1. 01Expandable categorized navigation sections
  2. 02Default, MultipleExpansion, and StackMode
  3. 03ItemsSource data binding
  4. 04Drag-and-drop reordering and context menus
  5. 05Resizable navigation popup
  6. 06Save and restore pane state

Use cases

  1. 01Building an Outlook-style navigation sidebar
  2. 02Organizing expandable categorized content
  3. 03Binding navigation items with MVVM
  4. 04Allowing users to reorder navigation items

Install

Copy the command and run it in a terminal.

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

After installing, type/syncfusion-wpf-navigation-panein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
appearance.md
behavior-and-features.md
data-binding.md
getting-started.md
groupbar-items.md
groupview-and-content.md
orientation-and-layout.md
visual-modes.md

Details

From the project README

Implementing WPF GroupBar (Navigation Pane)

The GroupBar control implements a navigation pane similar to the Microsoft Outlook Bar. It hosts categorized collections of items and custom controls in expandable/collapsible sections. Supports multiple visual modes, data binding, drag-and-drop reordering, context menus, toolbars, and full theme support.

Assemblies: Syncfusion.Tools.WPF + Syncfusion.Shared.WPF
Namespace: Syncfusion.Windows.Tools.Controls
XAML Schema: xmlns:syncfusion="http://schemas.syncfusion.com/wpf"

Control Hierarchy

GroupBar                    ← Root navigation container
└── GroupBarItem            ← Category tab/header (e.g., "Mailbox", "Contacts")
    ├── GroupView           ← List container for link-style items
    │   └── GroupViewItem   ← Clickable item with text and icon
    └── Panel / any UIElement ← Or use any WPF panel as content

When to Use This Skill

  • User wants an Outlook-style navigation sidebar or accordion panel
  • User needs expandable/collapsible sections with content inside
  • User asks about GroupBar, GroupBarItem, GroupView, GroupViewItem
  • User needs StackMode (Outlook bar), MultipleExpansion (tree-view), or Default mode
  • User needs data-bound navigation items using MVVM
  • User asks about drag-and-drop reordering of navigation items
  • User asks about Navigation Pane popup, gripper, or resize behavior

Quick Start

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

<syncfusion:GroupBar Height="300" Width="230" VisualMode="StackMode" Name="groupBar">
    <syncfusion:GroupBarItem Header="Mailbox" HeaderImageSource="Images/mail.png">
        <syncfusion:GroupView>
            <syncfusion:GroupViewItem Text="Inbox"     ImageSource="Images/inbox.png"/>
            <syncfusion:GroupViewItem Text="Sent Items" ImageSource="Images/sent.png"/>
            <syncfusion:GroupViewItem Text="Deleted"   ImageSource="Images/trash.png"/>
        </syncfusion:GroupView>
    </syncfusion:GroupBarItem>
    <syncfusion:GroupBarItem Header="Contacts">
        <syncfusion:GroupView>
            <syncfusion:GroupViewItem Text="All Contacts"/>
            <syncfusion:GroupViewItem Text="Favorites"/>
        </syncfusion:GroupView>
    </syncfusion:GroupBarItem>
</syncfusion:GroupBar>
using Syncfusion.Windows.Tools.Controls;

GroupBar groupBar = new GroupBar();
groupBar.VisualMode = VisualMode.StackMode;

GroupBarItem item = new GroupBarItem { Header = "Mailbox" };
GroupView view = new GroupView();
view.Items.Add(new GroupViewItem { Text = "Inbox" });
item.Content = view;
groupBar.Items.Add(item);
this.Content = groupBar;

Common Patterns

GoalApproach
Outlook-style navigationVisualMode="StackMode"
Tree-style multi-expandVisualMode="MultipleExpansion"
One-at-a-time expandVisualMode="Default"
Collapsible barAllowCollapse="True" + VisualMode="StackMode"
Data-bound itemsItemsSource + ItemContainerStyle with HeaderText/Content setters
Custom item contentPlace any Panel or UIElement as GroupBarItem.Content
List-view style itemsGroupView with IsListViewMode="True"
Drag-reorder itemsDragItemVisibility="True"
Resize navigation popupPopupResizeDirection="Both"
Gripper for StackModeShowGripper="True" + VisualMode="StackMode"
Save/restore bar stateSaveBarState() / LoadBarState() / ResetBarState()

Key Properties

PropertyTypeDescription
VisualModeVisualModeDefault / MultipleExpansion / StackMode
AllowCollapseboolAllow collapsing (StackMode)
ShowGripperboolShow resize gripper (StackMode)
ItemsSourceIEnumerableData-bound items
ItemContainerStyleStyleStyle applied to each GroupBarItem
DragItemVisibilityboolEnable drag-and-drop reordering
DragMarkerBrushBrushColor of drag insertion marker
PopupResizeDirectionPopupResizeDirectionNavigation pane popup resize (Both/H/V/None)
ItemContentLengthdoubleHeight/width of selected item content area
GroupBarHeaderStyleStyleStyle for GroupBar header border
GroupBarItem.HeaderstringDisplay text for item header
GroupBarItem.HeaderImageSourceImageSourceIcon in item header
GroupBarItem.IsSelectedboolExpand this item initially
GroupBarItem.GroupBarItemCornerRadiusCornerRadiusRounded corners on item header
GroupView.IsListViewModeboolList-view style (vs icon style)
GroupViewItem.TextstringText label for view item
GroupViewItem.ImageSourceImageSourceIcon for view item
SaveOriginalStateboolAuto-save state on load

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Assembly references (Tools.WPF + Shared.WPF)
  • Add via designer, XAML, or C#
  • Declarative GroupBarItems with GroupView content
  • Adding panel content to GroupBarItem
  • Basic VisualMode overview
  • Themes with SfSkinManager
GroupBar Items

📄 Read: references/groupbar-items.md

  • GroupBarItem properties (Header, HeaderText, HeaderImageSource)
  • IsSelected, ShowInGroupBar, GroupBarItemCornerRadius
  • GroupBarItemCursorType (Default/Hand)
  • ItemContentLength (content area height/width)
  • DraggingItemInProgress, HiddenItemsCount
  • GroupBarItemAdded / GroupBarItemRemoved events
GroupView and Content

📄 Read: references/groupview-and-content.md

  • GroupView as item container with GroupViewItem elements
  • GroupViewItem (Text, ImageSource, tooltip)
  • IsListViewMode (list vs icon display)
  • Default image for GroupViewItem
  • Adding panels and custom UIElements as content
  • Rotating item content
Visual Modes

📄 Read: references/visual-modes.md

  • Default mode (one item expanded at a time)
  • MultipleExpansion mode (tree-view style)
  • StackMode (Outlook bar style, popup menu at bottom)
  • AllowCollapse, ShowGripper
  • ThemeStudio vs classic theme layout difference in StackMode
Data Binding

📄 Read: references/data-binding.md

  • ItemsSource + ItemContainerStyle with HeaderText/Content setters
  • Model + ViewModel with ObservableCollection
  • DataContext binding pattern
  • Data binding with XML (XmlDataProvider)
  • HeaderTemplate and ContentTemplate customization
  • ItemContainerStyleSelector for conditional styles
Orientation and Layout

📄 Read: references/orientation-and-layout.md

  • GroupBar orientation (Horizontal/Vertical)
  • GroupView and GroupViewItem orientation
  • Adjusting GroupBar width, changing header height
  • Rotating the GroupBar
  • FlowDirection for RTL support
  • Navigation Pane: PopupResizeDirection, ShowGripper
Behavior and Features

📄 Read: references/behavior-and-features.md

  • Drag-and-drop reordering (DragItemVisibility, DragMarkerBrush)
  • Built-in context menu (sort, add, rename, move)
  • Toolbars inside GroupBar
  • Tooltip for GroupViewItems
  • Animation for expand/collapse
  • Collapsing and closing in StackMode
  • State persistence (SaveBarState/LoadBarState/ResetBarState)
  • Localization
Appearance

📄 Read: references/appearance.md

  • GroupBarHeaderStyle (background, corner radius, height)
  • CollapseButtonTemplate and CollapseButtonBackground
  • ItemContainerStyle (HeaderTemplate + ContentTemplate)
  • ItemContainerStyleSelector
  • DragMarkerBrush
  • SfSkinManager themes table
  • ThemeStudio custom themes

Comments

Markdown supported