Token导航 LogoToken导航TokenDH.com
前端设计需要联网github未标认证来源可访问许可证需确认审计通过

syncfusion-wpf-navigation-drawersyncfusion wpf 导航抽屉

Agent Skill

syncfusion-wpf-navigation-drawer 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

984

周安装

41

GitHub Stars

2

下载量

328
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:syncfusion-wpf-navigation-drawer(syncfusion wpf 导航抽屉)
来源仓库:https://github.com/syncfusion/wpf-ui-components-skills
仓库路径:skills/syncfusion-wpf-navigation-drawer
安装命令:
npx skills add https://github.com/syncfusion/wpf-ui-components-skills --skill syncfusion-wpf-navigation-drawer
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

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

简介

用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息。

  • 适合围绕仓库状态、代码变更或协作事项进行整理与分析。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装使用。
  • 建议确认权限范围和维护状态,避免触发联网或文件读写操作。
  • syncfusion-wpf-navigation-drawer 属于前端设计类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Implementing Syncfusion WPF Navigation Drawer

The WPF Navigation Drawer control is a sidebar navigation component used to create intuitive and efficient navigation menus within applications. It supports compact and expanded display modes, allowing users to switch between them dynamically based on the available screen size. Additionally, the control offers a default mode that enables developers to define a fully custom pane view, providing greater flexibility in designing navigation experiences

When to Use This Skill

Use this skill when user need to:

  • Create sidebar navigation menus in WPF applications
  • Implement collapsible drawer navigation with hamburger menu
  • Build responsive navigation with compact and expanded modes
  • Add hierarchical navigation menu items with icons
  • Implement swipeable side panels
  • Create custom navigation views with headers and footers
  • Handle navigation events and selection
  • Support keyboard navigation in drawer menus
  • Build modern UI navigation patterns in WPF

Component Overview

The Syncfusion WPF Navigation Drawer (SfNavigationDrawer) is a sidebar navigation control that provides:

  • Three Display Modes: Default (collapsible), Compact (icon-only), Expanded (full width)
  • Flexible Positioning: Left, Right, Top, or Bottom placement
  • Built-in Navigation Items: Tab, Button, Header, Separator types with hierarchical support
  • Custom Views: Fully customizable header, content, and footer sections
  • Data Binding: Support for ItemsSource with hierarchical data binding
  • Rich Events: Opening, Opened, Closing, Closed, ItemClicked, ItemExpanded, ItemCollapsed
  • Keyboard Support: Full keyboard navigation (Tab, Arrow keys, Enter, Space)
  • Smooth Animations: SlideOnTop, Push, and Reveal transition effects
  • Responsive Design: Auto-switching between display modes based on available width

Use Cases:

  • Email client navigation (Inbox, Sent, Drafts with nested categories)
  • E-commerce app menus (Products, Cart, Orders with subcategories)
  • Banking app navigation (Accounts, Transfers, Payments)
  • Admin dashboards with multi-level navigation
  • Mobile-style navigation in desktop WPF apps

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md Use when: First-time implementation, setting up the control, understanding basic structure

  • Installation and assembly deployment
  • Creating basic NavigationDrawer in XAML and C#
  • Adding content view and sidebar menu items
  • Setting up navigation items with icons
  • Minimal working example

Display Modes

📄 Read: references/display-modes.md Use when: Choosing between Default, Compact, or Expanded modes, implementing responsive navigation

  • Default mode (collapsible drawer with custom views)
  • Compact mode (narrow icon bar that expands on toggle)
  • Expanded mode (full-width sidebar)
  • Auto display mode switching based on window width
  • CompactModeWidth and ExpandedModeWidth configuration
  • ExpandedModeThresholdWidth for responsive behavior

Populating Data

📄 Read: references/populating-data.md Use when: Adding menu items, binding data sources, creating hierarchical navigation

  • Built-in NavigationItem properties (Header, Icon, Items)
  • ItemsSource data binding
  • Hierarchical data binding with nested items
  • IconTemplate and ItemTemplate customization
  • Different item types: Tab, Button, Header, Separator
  • DisplayMemberPath and IconMemberPath
  • IndentationWidth for sub-items
  • Popup support for sub-items

Custom Views and Customization

📄 Read: references/custom-views.md Use when: Creating custom drawer layouts, positioning drawer, adding animations

  • DrawerHeaderView, DrawerContentView, DrawerFooterView
  • DrawerWidth and DrawerHeight customization
  • Position property (Left, Right, Top, Bottom)
  • Swipe gestures and TouchThreshold
  • Transition animations (SlideOnTop, Push, Reveal)
  • AnimationDuration configuration
  • DrawerBackground customization
  • IsOpen property for programmatic control
  • ToggleDrawer() method

Header and Footer Customization

📄 Read: references/header-and-footer.md Use when: Customizing toggle button, header, or footer sections

  • ToggleButtonContentTemplate and ToggleButtonIconTemplate
  • IsToggleButtonVisible property
  • FooterItems collection
  • HeaderHeight and FooterHeight properties
  • Custom header and footer views in Default mode

Commands and Events

📄 Read: references/commands-and-events.md Use when: Handling drawer state changes, item clicks, navigation events

  • Opening and Opened events (with Cancel support)
  • Closing and Closed events (with Cancel support)
  • ItemClicked event (Compact/Expanded modes only)
  • ItemExpanded and ItemCollapsed events
  • Command binding with Command and CommandParameter
  • DelegateCommand implementation example

Selection Handling

📄 Read: references/handling-selection.md Use when: Managing selected items, tracking navigation state

  • SelectedItem property usage
  • Selection with NavigationItem
  • Selection with custom data objects
  • SelectionBackground customization

Keyboard Support

📄 Read: references/keyboard-support.md Use when: Implementing keyboard navigation, ensuring accessibility

  • Tab key navigation between elements
  • Up/Down arrow keys for item navigation
  • Enter and Space for item selection
  • Focus management

Quick Start Example

Basic Navigation Drawer with Items

<Window xmlns:syncfusion="http://schemas.syncfusion.com/wpf">
    <syncfusion:SfNavigationDrawer x:Name="navigationDrawer"
                                   DisplayMode="Expanded">
        <!-- Navigation Items -->
        <syncfusion:NavigationItem Header="Inbox" IsSelected="True">
            <syncfusion:NavigationItem.Icon>
                <Path Data="M32.032381,16.445429 L25.410999..." Fill="White"/>
            </syncfusion:NavigationItem.Icon>
        </syncfusion:NavigationItem>

        <syncfusion:NavigationItem Header="Sent mail">
            <syncfusion:NavigationItem.Icon>
                <Path Data="M42.128046,6.7269681..." Fill="White"/>
            </syncfusion:NavigationItem.Icon>
        </syncfusion:NavigationItem>

        <syncfusion:NavigationItem Header="Drafts">
            <syncfusion:NavigationItem.Icon>
                <Path Data="M6.9999996,48.353..." Fill="White"/>
            </syncfusion:NavigationItem.Icon>
        </syncfusion:NavigationItem>

        <!-- Main Content -->
        <syncfusion:SfNavigationDrawer.ContentView>
            <Grid>
                <Label Content="Content View"
                       HorizontalAlignment="Center"
                       VerticalAlignment="Center"/>
            </Grid>
        </syncfusion:SfNavigationDrawer.ContentView>
    </syncfusion:SfNavigationDrawer>
</Window>

Code-behind (C#)

using Syncfusion.UI.Xaml.NavigationDrawer;

// Create navigation drawer
SfNavigationDrawer navigationDrawer = new SfNavigationDrawer();
navigationDrawer.DisplayMode = DisplayMode.Expanded;

// Add items
navigationDrawer.Items.Add(new NavigationItem()
{
    Header = "Inbox",
    Icon = new Path() { Data = Geometry.Parse("M32.032381...") },
    IsSelected = true
});

navigationDrawer.Items.Add(new NavigationItem()
{
    Header = "Sent mail",
    Icon = new Path() { Data = Geometry.Parse("M42.128046...") }
});

// Set content
Label label = new Label { Content = "Content View" };
navigationDrawer.ContentView = label;

Common Patterns

Pattern 1: Responsive Navigation (Auto Mode Switching)

<syncfusion:SfNavigationDrawer DisplayMode="Expanded"
                               AutoChangeDisplayMode="True"
                               ExpandedModeThresholdWidth="700">
    <!-- Items -->
</syncfusion:SfNavigationDrawer>

When to use: Desktop apps that need to adapt to window resizing

Pattern 2: Hierarchical Navigation with Sub-items

<syncfusion:NavigationItem Header="Inbox" IsExpanded="True">
    <syncfusion:NavigationItem.Icon>
        <Path Data="..." Fill="White"/>
    </syncfusion:NavigationItem.Icon>
    <!-- Sub-items -->
    <syncfusion:NavigationItem Header="Primary">
        <syncfusion:NavigationItem.Icon>
            <Path Data="..." Fill="White"/>
        </syncfusion:NavigationItem.Icon>
    </syncfusion:NavigationItem>
    <syncfusion:NavigationItem Header="Social">
        <syncfusion:NavigationItem.Icon>
            <Path Data="..." Fill="White"/>
        </syncfusion:NavigationItem.Icon>
    </syncfusion:NavigationItem>
</syncfusion:NavigationItem>

When to use: Multi-level navigation menus (e.g., email categories, product categories)

Pattern 3: Custom Drawer with Header and Footer

<syncfusion:SfNavigationDrawer DisplayMode="Default" DrawerWidth="300">
    <syncfusion:SfNavigationDrawer.DrawerHeaderView>
        <Grid Background="#31ade9">
            <Label Content="User Profile" />
        </Grid>
    </syncfusion:SfNavigationDrawer.DrawerHeaderView>

    <syncfusion:SfNavigationDrawer.DrawerContentView>
        <ListBox ItemsSource="{Binding MenuItems}"/>
    </syncfusion:SfNavigationDrawer.DrawerContentView>

    <syncfusion:SfNavigationDrawer.DrawerFooterView>
        <Button Content="Logout" />
    </syncfusion:SfNavigationDrawer.DrawerFooterView>

    <syncfusion:SfNavigationDrawer.ContentView>
        <Grid><!-- Main content --></Grid>
    </syncfusion:SfNavigationDrawer.ContentView>
</syncfusion:SfNavigationDrawer>

When to use: Apps needing custom drawer layouts beyond built-in items

Pattern 4: Data Binding with ItemsSource

<syncfusion:SfNavigationDrawer DisplayMode="Compact"
                               ItemsSource="{Binding NavigationItems}"
                               DisplayMemberPath="Title"
                               IconMemberPath="Icon">
</syncfusion:SfNavigationDrawer>

When to use: Dynamic navigation menus from database or API

Key Properties

Essential Properties

PropertyTypeDescription
DisplayModeDisplayModeDefault, Compact, or Expanded
ItemsNavigationItemsCollectionCollection of NavigationItem objects
ContentViewobjectMain content area
IsOpenboolGets/sets drawer open state
SelectedItemobjectCurrently selected navigation item
PositionPositionLeft, Right, Top, Bottom (Default mode)

Display Mode Properties

PropertyTypeDefaultDescription
AutoChangeDisplayModeboolfalseAuto-switch modes based on width
ExpandedModeThresholdWidthdouble1007Width threshold for auto mode switching
CompactModeWidthdouble48Width in compact mode
ExpandedModeWidthdouble320Width in expanded mode

Customization Properties

PropertyTypeDescription
DrawerWidthdoubleDrawer width (Default mode, Left/Right)
DrawerHeightdoubleDrawer height (Default mode, Top/Bottom)
DrawerBackgroundBrushBackground color of drawer
HeaderHeightdoubleHeight of header section
FooterHeightdoubleHeight of footer section
IndentationWidthdoubleHorizontal spacing for sub-items

Animation Properties

PropertyTypeOptions
TransitionTransitionSlideOnTop, Push, Reveal
AnimationDurationTimeSpanDuration of open/close animation
EnableSwipeGestureboolEnable swipe to open/close
TouchThresholddoubleSwipe sensitivity (pixels)

Template Properties

PropertyTypeDescription
ToggleButtonContentTemplateDataTemplateCustomize toggle button content
ToggleButtonIconTemplateDataTemplateCustomize toggle button icon
ItemTemplateDataTemplateTemplate for navigation items
ItemTemplateSelectorDataTemplateSelectorDynamic template selection

Common Use Cases

Use Case 1: Email Client Navigation

Scenario: Multi-level inbox with Primary, Social, Promotions Solution: Use hierarchical NavigationItem with IsExpanded, Compact/Expanded modes Reference: references/populating-data.md

Use Case 2: Admin Dashboard

Scenario: Top-level menu (Dashboard, Users, Settings) with sub-sections Solution: Data binding with ItemsSource, hierarchical data structure Reference: references/populating-data.md

Use Case 3: Mobile-Style App

Scenario: Hamburger menu that slides over content Solution: Default mode with DrawerHeaderView, swipe gestures enabled Reference: references/custom-views.md

Use Case 4: Responsive Desktop App

Scenario: Auto-collapse to compact mode on narrow windows Solution: Expanded mode with AutoChangeDisplayMode=true Reference: references/display-modes.md

Use Case 5: Banking App

Scenario: Accounts, Transfers, Payments with event handling Solution: ItemClicked event, Command binding for navigation Reference: references/commands-and-events.md

Implementation Tips

  1. Choose the Right Display Mode:

- Use Default for mobile-style overlays with custom views - Use Compact for icon-only sidebar that expands to full width - Use Expanded for always-visible full sidebar

  1. Use Built-in Items vs Custom Views:

- Use NavigationItem (Compact/Expanded) for standard navigation menus - Use Custom Views (Default mode) for unique layouts

  1. Optimize Performance:

- Use data binding with ItemsSource for large datasets - Implement ItemTemplateSelector for heterogeneous items - Keep hierarchies shallow (2-3 levels max)

  1. Handle State Properly:

- Use Opening/Closing events to cancel state changes - Store SelectedItem for navigation state restoration - Handle ItemClicked for page navigation

  1. Ensure Accessibility:

- Implement keyboard navigation (already built-in) - Provide meaningful Header text for screen readers - Use sufficient color contrast for SelectionBackground

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

33.83%
按下载量换算111

Claude

31.99%
按下载量换算105

Cursor

21.63%
按下载量换算71

Gemini CLI

8.95%
按下载量换算29

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills