
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- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads syncfusion-winforms-navigation-view automatically when relevant.
- 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
| Property | Type | Description |
|---|---|---|
Bars | BarCollection | Collection of root-level Bars |
SelectedBar | Bar | Currently displayed Bar in the path |
ShowHistoryButtons | bool | Show/hide history dropdown button |
VisualStyle | VisualStyles | Apply Office2007, Vista, or Metro styling |
ImageList | ImageList | Image collection for Bar icons |
Bar Properties
| Property | Type | Description |
|---|---|---|
Text | string | Display text for the Bar |
ImageIndex | int | Index in NavigationView.ImageList |
Bars | BarCollection | Child Bars of this Bar |
Tag | object | Store custom data (e.g., full path) |
Important Events
| Event | Description | Common Use |
|---|---|---|
BarSelected | Fires when user selects a Bar | Load content for selected location |
BarPopup | Fires before dropdown shows | Customize popup items, set max items |
Click | User clicks the control | Handle 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.Barscollection, not just created - Check: Verify
SelectedBaris set to make a Bar visible
Issue: Images not displaying
- Solution: Assign
ImageListto NavigationView, then setImageIndexon Bars - Check: Ensure ImageIndex values are within ImageList bounds
Issue: Dropdown not showing child Bars
- Solution: Add child Bars to parent's
Barscollection: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
VisualStyleproperty after control initialization - Example:
navigationView1.VisualStyle = VisualStyles.Office2007;
Next Steps
- Start with Getting Started: Read references/getting-started.md to set up the control
- Build Hierarchy: Read references/bar-hierarchy.md to create your Bar structure
- Add Features: Read remaining references to add dropdown, history, images, and advanced capabilities
- Customize Appearance: Apply visual styles to match your application theme
- Handle Events: Wire up
BarSelectedand 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
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.
Popular frontend & design skills
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-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.
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.
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.
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.