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

syncfusion-wpf-treegrid同步融合 WPF 树形网格

Agent Skill

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

总安装

1,048

周安装

42

GitHub Stars

2

下载量

339
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

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

简介

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

  • 适合围绕仓库状态、代码变更或协作事项进行信息整理。
  • 可结合来源仓库和 README 进一步核验具体用法。
  • 安装前建议确认权限范围、维护状态及是否触发联网或文件操作。
  • 注意避免在不具备相应权限时执行写回或批量操作。syncfusion-wpf-treegrid 属于前端设计类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Implementing WPF TreeGrid (SfTreeGrid)

Comprehensive guide for implementing the Syncfusion® WPF TreeGrid control - a data-oriented control that displays self-relational and hierarchical data in a tree structure with columns. This skill provides complete guidance for setup, data binding, column configuration, interactive features, data operations, styling, and advanced capabilities.

When to Use This Skill

Use this skill when you need to:

  • Display hierarchical data in a grid with expandable/collapsible tree structure
  • Bind self-relational data (parent-child relationships within single collection)
  • Bind nested collections with parent-child object hierarchies
  • Implement load-on-demand for large hierarchical datasets
  • Configure columns with various types (text, numeric, datetime, checkbox, combo box)
  • Enable editing in tree grid with validation
  • Implement sorting and filtering on hierarchical data
  • Customize selection behavior (single, multiple, row, cell)
  • Apply conditional styling based on data or node level
  • Merge cells across columns in tree grid rows
  • Export tree grids to Excel or PDF formats
  • Implement MVVM patterns with TreeGrid controls
  • Customize appearance with themes, styles, and templates

This skill is essential for any WPF application that needs to present hierarchical or parent-child data in an interactive, feature-rich grid interface.

Component Overview

The SfTreeGrid control provides:

  • Hierarchical Data Display: Self-relational and nested collection binding
  • Multiple Column Types: Text, Numeric, DateTime, CheckBox, ComboBox, Hyperlink, and Template columns
  • Interactive Features: Editing, selection, sorting, filtering, drag-drop
  • Data Operations: Sorting, filtering with multiple filter levels (Root, All, Extended)
  • Load-On-Demand: Efficient loading of child nodes on expansion
  • Cell Merging: Merge adjacent cells across columns
  • Export Capabilities: Export to Excel and PDF with customization
  • Styling: Conditional styling, themes, templates, and visual customization
  • MVVM Support: Complete MVVM pattern compatibility with command binding
  • Performance: Virtualization and optimized rendering for large datasets

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

Start here for initial setup and basic implementation:

  • Assembly deployment (Syncfusion.SfGrid.WPF, Syncfusion.Data.WPF, Syncfusion.Shared.WPF)
  • Creating WPF project with TreeGrid
  • Adding control via Designer, XAML, or code-behind
  • Basic TreeGrid setup examples
  • Simple self-relational and nested collection binding

Data Binding & Operations

Data Binding Approaches 📄 Read: references/data-binding.md

  • Self-relational data binding (ParentPropertyName, ChildPropertyName)
  • Nested collection binding (ChildPropertyName)
  • IEnumerable collection support
  • Dynamic data object binding
  • INotifyCollectionChanged and ObservableCollection
  • Data refresh and updates

Load-On-Demand 📄 Read: references/load-on-demand.md

  • RequestTreeItems event for on-demand loading
  • LoadOnDemandCommand for MVVM scenarios
  • Lazy loading child nodes on expansion
  • Performance optimization for large datasets
  • Populating nodes indicator display

Column Configuration

Column Basics 📄 Read: references/columns.md

  • Adding and removing columns
  • AutoGenerateColumns vs manual configuration
  • Column properties (HeaderText, MappingName, Width, Alignment)
  • Column visibility and frozen columns
  • Column reordering and resizing
  • Text wrapping and trimming

Column Types 📄 Read: references/column-types.md

  • TreeGridTextColumn for string data
  • TreeGridNumericColumn with number formatting
  • TreeGridDateTimeColumn with date patterns
  • TreeGridCheckBoxColumn for boolean values
  • TreeGridComboBoxColumn for dropdown selection
  • TreeGridHyperlinkColumn for clickable links
  • TreeGridTemplateColumn for custom content
  • Creating custom column types

Column Sizing 📄 Read: references/column-sizing.md

  • ColumnSizer property (Auto, Star, SizeToCells, SizeToHeader)
  • Auto-fitting columns to content
  • Manual width specification
  • User resizing behavior
  • Min and Max width constraints
  • Fill remaining space strategies

Interactive Features

Editing 📄 Read: references/editing.md

  • AllowEditing property for grid and column level
  • Edit modes (OnTap, OnDoubleTap)
  • Edit triggers and edit template customization
  • BeginEdit and EndEdit events
  • Programmatic editing (BeginEdit, EndEdit, CurrentCell)
  • Validation during editing

Data Validation 📄 Read: references/data-validation.md

  • IDataErrorInfo validation interface
  • INotifyDataErrorInfo support
  • Cell-level and row-level validation
  • Custom validation rules
  • Validation error display customization
  • Handling validation errors

Selection 📄 Read: references/selection.md

  • SelectionMode (Single, Multiple, Extended, None)
  • SelectionUnit (Row, Cell, Any)
  • SelectedItem and SelectedItems binding
  • CurrentCell and CurrentItem properties
  • Programmatic selection
  • SelectionChanged and CurrentCellActivated events

Cell Merging 📄 Read: references/merge-cells.md

  • QueryCoveredRange event for merging cells
  • Column-wise merging by fixed range
  • Merging based on cell content
  • Navigation and selection in merged cells
  • Performance considerations for cell merging

Data Operations

Sorting 📄 Read: references/sorting.md

  • AllowSorting property (grid and column level)
  • Single and multi-column sorting
  • Tri-state sorting (ascending, descending, unsorted)
  • Programmatic sorting with SortColumnDescriptions
  • Custom sorting logic with IComparer
  • SortColumnsChanging and SortColumnsChanged events

Filtering 📄 Read: references/filtering.md

  • FilterLevel (Root, All, Extended) for hierarchical filtering
  • Advanced filter UI with filter row
  • Programmatic filtering with FilterPredicates
  • Custom filter logic
  • FilterChanging and FilterChanged events
  • Clearing and persisting filters

Styling & Customization

Conditional Styling 📄 Read: references/conditional-styling.md

  • StyleSelector for row and cell styling
  • RowStyleSelector for row-based formatting
  • CellStyleSelector for cell-based formatting
  • Conditional formatting based on data values
  • Node level-based styling (parent vs child)
  • Alternating row styles

Styles and Templates 📄 Read: references/styles-and-templates.md

  • CellTemplate and EditTemplate customization
  • HeaderTemplate for column headers
  • ExpanderTemplate for expand/collapse buttons
  • RowHeaderTemplate customization
  • Cell and row styling
  • Visual states and triggers
  • Theme integration

Advanced Features

Export and Printing 📄 Read: references/export-and-printing.md

  • Export to Excel (ExportToExcel method)
  • Export to PDF (ExportToPdf method)
  • TreeGridExcelExportingOptions customization
  • TreeGridPdfExportingOptions customization
  • Print functionality (PrintSettings)
  • Exporting specific nodes and columns

Advanced Configuration 📄 Read: references/advanced-features.md

  • MVVM pattern implementation with ICommand
  • GridLinesVisibility customization (Both, Horizontal, Vertical, None)
  • Serialization and Deserialization (Save/LoadSettings)
  • Localization (ResourceManager)
  • UI Automation support for accessibility
  • Theming (MaterialLight, MaterialDark, Office2019, etc.)
  • Helper methods and utilities
  • NodeCheckBox for node selection
  • ToolTip customization

Quick Start Example

Basic Self-Relational TreeGrid

<Window x:Class="TreeGridSample.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:syncfusion="http://schemas.syncfusion.com/wpf">

    <syncfusion:SfTreeGrid Name="treeGrid"
                           AutoGenerateColumns="True"
                           ChildPropertyName="Children"
                           ItemsSource="{Binding Employees}"
                           AllowSorting="True"
                           AllowFiltering="True"
                           AllowEditing="True">
    </syncfusion:SfTreeGrid>
</Window>
using Syncfusion.UI.Xaml.TreeGrid;
using System.Collections.ObjectModel;

namespace TreeGridSample
{
    public class Employee
    {
        public int EmployeeID { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Title { get; set; }
        public int ReportsTo { get; set; }
        public ObservableCollection<Employee> Children { get; set; }

        public Employee()
        {
            Children = new ObservableCollection<Employee>();
        }
    }

    public class EmployeeViewModel
    {
        public ObservableCollection<Employee> Employees { get; set; }

        public EmployeeViewModel()
        {
            Employees = new ObservableCollection<Employee>();
            PopulateData();
        }

        private void PopulateData()
        {
            var ceo = new Employee
            {
                EmployeeID = 1,
                FirstName = "Robert",
                LastName = "King",
                Title = "CEO"
            };

            ceo.Children.Add(new Employee
            {
                EmployeeID = 2,
                FirstName = "David",
                LastName = "Smith",
                Title = "VP of Sales",
                ReportsTo = 1
            });

            ceo.Children.Add(new Employee
            {
                EmployeeID = 3,
                FirstName = "Nancy",
                LastName = "Davolio",
                Title = "VP of Marketing",
                ReportsTo = 1
            });

            Employees.Add(ceo);
        }
    }
}

Common Patterns

Pattern 1: Self-Relational Data Binding

For data where parent-child relationship exists within the same collection:

public class Task
{
    public int TaskID { get; set; }
    public string TaskName { get; set; }
    public int? ParentID { get; set; }  // Nullable for root items
}

// ViewModel
public ObservableCollection<Task> Tasks { get; set; }
<syncfusion:SfTreeGrid Name="treeGrid"
                       ItemsSource="{Binding Tasks}"
                       ParentPropertyName="ParentID"
                       SelfRelationRootValue="-1"
                       ChildPropertyName="TaskID">
</syncfusion:SfTreeGrid>

Pattern 2: Nested Collection Binding

For data with explicit child collections:

public class Folder
{
    public string FolderName { get; set; }
    public ObservableCollection<Folder> SubFolders { get; set; }
}
<syncfusion:SfTreeGrid Name="treeGrid"
                       ItemsSource="{Binding Folders}"
                       ChildPropertyName="SubFolders">
</syncfusion:SfTreeGrid>

Pattern 3: Load-On-Demand with RequestTreeItems

For large datasets where child nodes load when parent expands:

treeGrid.RequestTreeItems += TreeGrid_RequestTreeItems;

private void TreeGrid_RequestTreeItems(object sender, TreeGridRequestTreeItemsEventArgs e)
{
    if (e.ParentItem == null)
    {
        // Load root nodes
        e.ChildItems = GetRootNodes();
    }
    else
    {
        // Load child nodes for expanded parent
        var parent = e.ParentItem as BusinessObject;
        e.ChildItems = GetChildNodes(parent.ID);
    }
}

Pattern 4: Custom Column Definition

<syncfusion:SfTreeGrid ItemsSource="{Binding Employees}"
                       AutoGenerateColumns="False">
    <syncfusion:SfTreeGrid.Columns>
        <syncfusion:TreeGridTextColumn HeaderText="Name"
                                       MappingName="FirstName"
                                       Width="150"/>
        <syncfusion:TreeGridNumericColumn HeaderText="Age"
                                          MappingName="Age"
                                          NumberDecimalDigits="0"/>
        <syncfusion:TreeGridDateTimeColumn HeaderText="DOB"
                                           MappingName="DateOfBirth"
                                           FormatString="MM/dd/yyyy"/>
        <syncfusion:TreeGridCheckBoxColumn HeaderText="Active"
                                           MappingName="IsActive"/>
    </syncfusion:SfTreeGrid.Columns>
</syncfusion:SfTreeGrid>

Pattern 5: MVVM Command Binding

<syncfusion:SfTreeGrid ItemsSource="{Binding Employees}"
                       ChildPropertyName="Children">
    <syncfusion:SfTreeGrid.RecordContextMenu>
        <ContextMenu>
            <MenuItem Header="Add Child"
                      Command="{Binding AddChildCommand}"
                      CommandParameter="{Binding}"/>
            <MenuItem Header="Delete"
                      Command="{Binding DeleteCommand}"
                      CommandParameter="{Binding}"/>
        </ContextMenu>
    </syncfusion:SfTreeGrid.RecordContextMenu>
</syncfusion:SfTreeGrid>
public class EmployeeViewModel : INotifyPropertyChanged
{
    public ICommand AddChildCommand { get; set; }
    public ICommand DeleteCommand { get; set; }

    public EmployeeViewModel()
    {
        AddChildCommand = new RelayCommand(AddChild);
        DeleteCommand = new RelayCommand(Delete);
    }

    private void AddChild(object parameter)
    {
        var parent = parameter as Employee;
        if (parent != null)
        {
            parent.Children.Add(new Employee { /* ... */ });
        }
    }
}

Key Properties

Essential Properties

PropertyTypeDescription
ItemsSourceIEnumerableData source for the TreeGrid
ChildPropertyNamestringProperty name for child collection
ParentPropertyNamestringProperty name for parent ID (self-relational)
SelfRelationRootValueobjectValue indicating root level nodes
AutoGenerateColumnsboolAuto-generate columns from data source
ColumnsTreeGridColumnsCollection of column definitions

Behavior Properties

PropertyTypeDescription
AllowEditingboolEnable/disable cell editing
AllowSortingboolEnable/disable sorting
AllowFilteringboolEnable/disable filtering
FilterLevelFilterLevelFiltering scope (Root, All, Extended)
SelectionModeGridSelectionModeSelection mode (Single, Multiple, Extended)
SelectionUnitGridSelectionUnitSelection unit (Row, Cell, Any)
AutoExpandModeAutoExpandModeAuto-expand behavior (RootNodesExpanded, AllNodesExpanded)
ExpanderPositionExpanderPositionPosition of expand/collapse icon (Start, End)

Display Properties

PropertyTypeDescription
GridLinesVisibilityGridLinesVisibilityGrid lines display (Both, Horizontal, Vertical, None)
ColumnSizerGridLengthUnitTypeColumn auto-sizing strategy
RowHeightdoubleHeight of each row
HeaderRowHeightdoubleHeight of header row
IndentColumnWidthdoubleWidth of indent for each level

Common Use Cases

1. Employee Hierarchy Management

Display organizational structure with employees, managers, and departments in expandable tree format.

2. File System Browser

Show folders and files in hierarchical structure with load-on-demand for large directory trees.

3. Project Task Management

Display projects, sub-projects, tasks, and subtasks with status tracking, editing, and conditional styling.

4. Bill of Materials (BOM)

Show product assemblies with components, sub-components, quantities, and costs in hierarchical view.

5. Category-Product Catalog

Display product categories, subcategories, and products with filtering, sorting, and export capabilities.

6. Account Hierarchy

Financial account trees with parent-child relationships, balance calculations, and drill-down capabilities.

7. Multi-Level Approval Workflows

Track approval hierarchies with status indicators, conditional styling, and interactive editing.

8. Geographic Data Organization

Display countries, states, cities in hierarchical format with data visualization and export features.

Performance Considerations

  • Use Load-On-Demand for datasets with more than 1,000 total nodes
  • Enable Virtualization (enabled by default) for smooth scrolling
  • Avoid complex templates in frequently updated cells
  • Use ItemsSourceChanged event instead of frequent rebinding
  • Batch updates when modifying multiple nodes
  • Disable live updates (LiveNodeUpdateMode) when not needed
  • Optimize FilterLevel choice based on data structure

Related Skills

Support Resources


Next Steps: Navigate to the specific reference file above based on your implementation needs. Start with getting-started.md for initial setup, then explore data binding, column configuration, and advanced features as needed.

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

37.12%
按下载量换算126

Claude

29.41%
按下载量换算100

Cursor

19.26%
按下载量换算65

Gemini CLI

10.38%
按下载量换算35

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

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

安装前确认

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

来源信息

继续浏览同类 Skills