MCPInstall

syncfusion-winforms-navigation-view

Guide for implementing Syncfusion NavigationView control in Windows Forms for breadcrumb navigation and hierarchical path tracking. Use when building file explorers, folder browsers, or file browser-style interfaces with breadcrumb trails. Covers breadcrumb navigation, dropdown navigation, history tracking, and hierarchical bar structures for path-based location tracking with dropdown child selection.

Installs
77
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/syncfusion/winforms-ui-components-skills --skill syncfusion-winforms-navigation-view
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads syncfusion-winforms-navigation-view automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Implementing Navigation Views in Windows Forms

When to Use This Skill

Use the NavigationView control when you need:

  • Breadcrumb Navigation: Display hierarchical location paths (e.g., MyComputer > C: > Program Files > App)
  • File Browser Interfaces: Track and navigate folder hierarchies like Windows Explorer
  • Location Tracking: Keep users aware of their current position in multi-level structures
  • Quick Navigation: Allow users to jump back to parent locations or navigate via dropdown
  • Settings/Configuration Wizards: Show user's progress through nested categories
  • Document Management: Navigate document folders, categories, or organizational structures

Key Feature: Unlike traditional menus or tree views, NavigationView shows the current path with dropdown access to siblings at each level.

Component Overview

The NavigationView control provides a breadcrumb-style navigation interface that displays a hierarchical path using Bars (nodes). Each Bar in the path shows a forward arrow that, when clicked, reveals a dropdown list of child Bars directly below it.

Core Concepts:

  • Bar: A single node in the navigation hierarchy (e.g., "MyComputer", "C:", "Users")
  • Parent Bar: A Bar that contains child Bars (root level or intermediate)
  • Child Bar: A Bar nested within a parent Bar
  • Selected Bar: The currently active Bar displayed in the path
  • History: Tracks previously visited Bars for quick return navigation

Visual Structure:

[Icon] MyComputer > C: > Program Files > App   [History ▼]
       └─────┬─────┘
              └─ Click arrow to see child Bars dropdown

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

Read this reference when you need to:

  • Install assemblies or NuGet packages for NavigationView
  • Add the control to a form via designer or code
  • Understand required namespaces (Syncfusion.Windows.Forms.Tools)
  • Set up a basic NavigationView with minimal configuration
  • See a complete minimal working example

Key Topics:

  • Assembly deployment (6 required DLLs)
  • Adding control via designer drag-and-drop
  • Adding control manually using code
  • Creating the first NavigationView instance
  • Basic setup and initialization

Bar Hierarchy and Structure

📄 Read: references/bar-hierarchy.md

Read this reference when you need to:

  • Create parent and child Bar relationships
  • Build multi-level navigation hierarchies
  • Add Bars to the NavigationView.Bars collection
  • Add child Bars to a parent Bar's Bars collection
  • Set the selected Bar to display a specific path
  • Understand Bar properties (Text, ImageIndex)

Key Topics:

  • Creating Bar instances
  • Parent-child Bar relationships
  • Adding root Bars to NavigationView
  • Adding child Bars to parent Bars
  • Setting SelectedBar property
  • Navigating between Bars programmatically

Dropdown Selection and History

📄 Read: references/dropdown-and-history.md

Read this reference when you need to:

  • Implement dropdown selection for child Bar navigation
  • Enable/disable history button tracking
  • Show previously visited locations in history dropdown
  • Add custom buttons to the NavigationView
  • Configure custom button appearance and images
  • Handle BarPopup event for dropdown customization
  • Control maximum items displayed in popups

Key Topics:

  • Forward arrow dropdown mechanism
  • ShowHistoryButtons property
  • History tracking and dropdown
  • Custom button collection
  • Adding custom buttons (designer and code)
  • BarPopup event handling
  • Customizable popup item count

Images and Visual Styling

📄 Read: references/images-and-styling.md

Read this reference when you need to:

  • Add icons to Bars using ImageList
  • Set ImageIndex for parent and child Bars
  • Apply visual styles (Office2007, Vista, Metro)
  • Configure VisualStyle property
  • Customize control appearance
  • Match application theme or style

Key Topics:

  • ImageList setup and assignment
  • Setting Bar ImageIndex properties
  • Visual styles overview
  • Applying Office2007 style
  • Applying Vista style
  • Applying Metro style
  • Appearance customization

Advanced Features

📄 Read: references/advanced-features.md

Read this reference when you need to:

  • Enable edit mode for direct path typing
  • Allow users to type navigation paths
  • Control popup behavior with BarPopup event
  • Set maximum items to display in popups
  • Cancel popup display conditionally
  • Implement advanced navigation scenarios

Key Topics:

  • Edit mode enabling and usage
  • Typing paths directly into NavigationView
  • BarPopup event advanced usage
  • MaximumItemsToDisplay property
  • Popup cancellation logic
  • Quick navigation techniques

Quick Start Example

Here's a minimal example of creating a NavigationView with a three-level hierarchy:

using Syncfusion.Windows.Forms.Tools;
using Syncfusion.Windows.Forms.Tools.Navigation;

// Create NavigationView
NavigationView navigationView1 = new NavigationView();
navigationView1.Width = 400;
navigationView1.Height = 25;
navigationView1.Location = new System.Drawing.Point(20, 20);

// Create root Bar
Bar rootBar = new Bar();
rootBar.Text = "MyComputer";

// Create child Bars
Bar driveC = new Bar();
driveC.Text = "Local Disk (C:)";

Bar driveD = new Bar();
driveD.Text = "Local Disk (D:)";

Bar programFiles = new Bar();
programFiles.Text = "Program Files";

// Build hierarchy
rootBar.Bars.AddRange(new Bar[] { driveC, driveD });
driveC.Bars.Add(programFiles);

// Add root to NavigationView
navigationView1.Bars.Add(rootBar);

// Set initial selection
navigationView1.SelectedBar = rootBar;

// Add to form
this.Controls.Add(navigationView1);

Result: A breadcrumb navigation showing "MyComputer" with dropdown access to "C:" and "D:".

Common Patterns

File System Navigation Pattern

Mimic Windows Explorer folder navigation:

// Root = Computer
Bar computer = new Bar { Text = "This PC" };

// Drives
Bar cDrive = new Bar { Text = "Local Disk (C:)" };
Bar dDrive = new Bar { Text = "Local Disk (D:)" };

// Common folders
Bar users = new Bar { Text = "Users" };
Bar documents = new Bar { Text = "Documents" };
Bar downloads = new Bar { Text = "Downloads" };

// Build hierarchy
computer.Bars.AddRange(new Bar[] { cDrive, dDrive });
cDrive.Bars.Add(users);
users.Bars.AddRange(new Bar[] { documents, downloads });

navigationView1.Bars.Add(computer);
navigationView1.SelectedBar = computer;

Dynamic Bar Creation Based on Data

Populate NavigationView from data source:

public void LoadFoldersFromPath(string rootPath, Bar parentBar)
{
    try
    {
        var directories = Directory.GetDirectories(rootPath);
        
        foreach (var dir in directories)
        {
            Bar childBar = new Bar();
            childBar.Text = Path.GetFileName(dir);
            childBar.Tag = dir; // Store full path
            
            parentBar.Bars.Add(childBar);
            
            // Optionally load sub-folders
            // LoadFoldersFromPath(dir, childBar);
        }
    }
    catch (UnauthorizedAccessException)
    {
        // Handle permission errors
    }
}

// Usage
Bar rootBar = new Bar { Text = "C:", Tag = @"C:\" };
LoadFoldersFromPath(@"C:\", rootBar);
navigationView1.Bars.Add(rootBar);

Navigation with History Tracking

Enable users to track and return to previous locations:

// Enable history button
navigationView1.ShowHistoryButtons = true;

// Handle BarSelected event to track navigation
navigationView1.BarSelected += (sender, e) =>
{
    string currentPath = GetFullPath(navigationView1.SelectedBar);
    Console.WriteLine($"Navigated to: {currentPath}");
    
    // Update UI based on selection
    LoadContent(currentPath);
};

// Helper to build full path
private string GetFullPath(Bar bar)
{
    List<string> path = new List<string>();
    Bar current = bar;
    
    while (current != null)
    {
        path.Insert(0, current.Text);
        current = current.Parent as Bar;
    }
    
    return string.Join(" > ", path);
}

Custom Navigation Buttons

Add search or refresh buttons to NavigationView:

// Create custom search button
CustomButton searchButton = new CustomButton();
searchButton.Name = "searchButton";
searchButton.Image = Properties.Resources.SearchIcon; // Your icon
searchButton.Appearance = ButtonAppearance.Office2007;

// Handle click
searchButton.Click += (sender, e) =>
{
    // Show search dialog or panel
    ShowSearchPanel();
};

// Add to NavigationView
navigationView1.Controls.Add(searchButton);

Key Properties and Events

Essential Properties

PropertyTypeDescription
BarsBarCollectionCollection of root-level Bars
SelectedBarBarCurrently displayed Bar in the path
ShowHistoryButtonsboolShow/hide history dropdown button
VisualStyleVisualStylesApply Office2007, Vista, or Metro styling
ImageListImageListImage collection for Bar icons

Bar Properties

PropertyTypeDescription
TextstringDisplay text for the Bar
ImageIndexintIndex in NavigationView.ImageList
BarsBarCollectionChild Bars of this Bar
TagobjectStore custom data (e.g., full path)

Important Events

EventDescriptionCommon Use
BarSelectedFires when user selects a BarLoad content for selected location
BarPopupFires before dropdown showsCustomize popup items, set max items
ClickUser clicks the controlHandle general interaction

Common Use Cases

Use Case 1: File Explorer with Edit Mode

Allow users to navigate folders visually or type paths directly:

// Enable edit mode
navigationView1.AllowEdit = true; // If property exists

// Handle path changes
navigationView1.BarSelected += (sender, e) =>
{
    if (navigationView1.SelectedBar.Tag is string path)
    {
        LoadDirectoryContents(path);
    }
};

Use Case 2: Settings Navigation

Guide users through nested settings categories:

Bar settings = new Bar { Text = "Settings" };
Bar appearance = new Bar { Text = "Appearance" };
Bar colors = new Bar { Text = "Colors" };
Bar fonts = new Bar { Text = "Fonts" };

settings.Bars.Add(appearance);
appearance.Bars.AddRange(new Bar[] { colors, fonts });

navigationView1.Bars.Add(settings);
navigationView1.SelectedBar = settings;

Use Case 3: Document Management System

Navigate document categories with custom icons:

// Setup ImageList
ImageList imgList = new ImageList();
imgList.Images.Add("folder", Properties.Resources.FolderIcon);
imgList.Images.Add("doc", Properties.Resources.DocumentIcon);
navigationView1.ImageList = imgList;

// Create hierarchy with images
Bar root = new Bar { Text = "Documents", ImageIndex = 0 };
Bar contracts = new Bar { Text = "Contracts", ImageIndex = 0 };
Bar invoices = new Bar { Text = "Invoices", ImageIndex = 0 };

root.Bars.AddRange(new Bar[] { contracts, invoices });
navigationView1.Bars.Add(root);

Use Case 4: Limited Popup Items for Large Hierarchies

Control dropdown size for folders with many subfolders:

navigationView1.BarPopup += (sender, e) =>
{
    // Limit items to 10 for better UX
    e.MaximumItemsToDisplay = 10;
    
    // Cancel popup for specific Bars
    if (e.CurrentBar.Text == "EmptyFolder")
    {
        e.Cancel = true;
    }
};

Troubleshooting Tips

Issue: Bars not appearing in NavigationView

  • Solution: Ensure Bars are added to navigationView1.Bars collection, not just created
  • Check: Verify SelectedBar is set to make a Bar visible

Issue: Images not displaying

  • Solution: Assign ImageList to NavigationView, then set ImageIndex on Bars
  • Check: Ensure ImageIndex values are within ImageList bounds

Issue: Dropdown not showing child Bars

  • Solution: Add child Bars to parent's Bars collection: parentBar.Bars.Add(childBar)
  • Check: Verify parent Bar actually has children

Issue: History button not visible

  • Solution: Set navigationView1.ShowHistoryButtons = true

Issue: Visual style not applied

  • Solution: Set VisualStyle property after control initialization
  • Example: navigationView1.VisualStyle = VisualStyles.Office2007;

Next Steps

  1. Start with Getting Started: Read references/getting-started.md to set up the control
  2. Build Hierarchy: Read references/bar-hierarchy.md to create your Bar structure
  3. Add Features: Read remaining references to add dropdown, history, images, and advanced capabilities
  4. Customize Appearance: Apply visual styles to match your application theme
  5. Handle Events: Wire up BarSelected and other events to respond to user navigation

For complete implementation details, proceed through the reference guides in the order listed above.

FAQ

What does the syncfusion-winforms-navigation-view skill do?

Guide for implementing Syncfusion NavigationView control in Windows Forms for breadcrumb navigation and hierarchical path tracking. Use when building file explorers, folder browsers, or file browser-style interfaces with breadcrumb trails. Covers breadcrumb navigation, dropdown navigation, history tracking, and hierarchical bar structures for path-based location tracking with dropdown child selection.

How do I install syncfusion-winforms-navigation-view?

Run npx skills add https://github.com/syncfusion/winforms-ui-components-skills --skill syncfusion-winforms-navigation-view in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/syncfusion-winforms-navigation-view/ (personal) or .claude/skills/syncfusion-winforms-navigation-view/ (project).

Which AI agents can use syncfusion-winforms-navigation-view?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is syncfusion-winforms-navigation-view safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains syncfusion-winforms-navigation-view?

It is published by syncfusion in syncfusion/winforms-ui-components-skills. It has 77 recorded installs.

More from syncfusion/winforms-ui-components-skills

View all →

syncfusion-winforms-datagrid

syncfusion/winforms-ui-components-skills

Open the skill to read its SKILL.md instructions.

syncfusion-winforms-button

syncfusion/winforms-ui-components-skills

Guide developers to implement and customize the Syncfusion Windows Forms SfButton control for desktop applications. Use this when creating interactive buttons with text, images, styling, and theming in Windows Forms applications. Covers implementation, customization, and interaction handling.

syncfusion-winforms-common

syncfusion/winforms-ui-components-skills

Comprehensive guide for implementing Syncfusion Essential Studio Windows Forms (WinForms) controls in desktop applications. Use this skill when working with Syncfusion WinForms components or Essential Studio WinForms. Covers WinForms installation, localization, high DPI support, and .NET Core compatibility. Helps with adding controls, registering license keys, and troubleshooting WinForms component issues.

syncfusion-winforms-contextmenustrip

syncfusion/winforms-ui-components-skills

Implement ContextMenuStripEx enhanced context menus in Windows Forms applications. Use this when working with context menus, right-click functionality, or popup menus with custom items. Covers menu configuration, multi-level menus, keyboard shortcuts, and appearance customization in WinForms.

syncfusion-winforms-docking-manager

syncfusion/winforms-ui-components-skills

Guide to implement Syncfusion WinForms DockingManager control for Visual Studio-style dockable windows and layouts. Use this when creating docked, floating, or tabbed windows with advanced layout management. Covers dock states, auto-hide functionality, caption customization, and serialization in WinForms applications.

syncfusion-winforms-licensing

syncfusion/winforms-ui-components-skills

Comprehensive guide for implementing and managing Syncfusion Windows Forms licensing. Use this when troubleshooting license validation errors, generating or registering license keys, or configuring CI/CD license validation. This skill covers license key management, trial vs licensed versions, NuGet package licensing, and build server scenarios.

DevOps & Cloud80 installs

Popular frontend & design skills

View category →

setup-matt-pocock-skills

mattpocock/skills

Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.

Frontend & Design1.1M installs

frontend-design

anthropics/skills

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

OfficialFrontend & Design1M installs

hyperframes-animation

heygen-com/hyperframes

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.

prototype

mattpocock/skills

Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.

Frontend & Design999.2K installs

hyperframes-core

heygen-com/hyperframes

The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.

Frontend & Design930.5K installs

vercel-react-best-practices

vercel-labs/agent-skills

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

OfficialFrontend & Design843.1K installs