Skip to main content
All docs
V25.1
  • TreeViewControl.ChildNodesPath Property

    Gets or sets the name of the field that contains child nodes. This is a dependency property.

    Namespace: DevExpress.Xpf.Grid

    Assembly: DevExpress.Xpf.Grid.v25.1.dll

    NuGet Package: DevExpress.Wpf.Grid.Core

    Declaration

    public string ChildNodesPath { get; set; }

    Property Value

    Type Description
    String

    The name of the field that contains child nodes.

    Remarks

    Use the ChildNodesPath property to bind the TreeViewControl to a collection if all objects have the same field that contains child nodes.

    You can use the HasChildNodesPath property to control whether a node has children.

    To build a tree structure, set the ChildNodesPath property to a field that contains child nodes (the Employees field in the code sample below).

    <dxg:TreeViewControl ItemsSource="{Binding EmployeeDepartments}" 
                         ChildNodesPath="Employees" 
                         TreeViewFieldName="Name"
                         HasChildNodesPath="HasChildNodes"/>
    
    using System.Windows;
    using System.Collections.Generic;
    using System.Collections.ObjectModel;
    using DevExpress.Mvvm;
    
    namespace TreeViewChildNodesSelector {
        public class MainWindowViewModel : ViewModelBase {
            public MainWindowViewModel() {
                EmployeeDepartments = Departments.GetDepartments();
            }
            public List<EmployeeDepartment> EmployeeDepartments { get; set; }
        }
        public class Employee {
            public Employee(int id, string name) {
                ID = id;
                Name = name;
            }
            public int ID { get; set; }
            public string Name { get; set; }
        }
        public class EmployeeDepartment {
            public string Name { get; set; }
            public ObservableCollection<Employee> Employees { get; }
            public bool HasChildNodes { get; set; }
    
            public EmployeeDepartment(string name, IEnumerable<Employee> employees) {
                Name = name;
                Employees = new ObservableCollection<Employee>(employees);
            }
        }
        public static class Departments {
            public static List<EmployeeDepartment> GetDepartments() {
                List<EmployeeDepartment> departments = new List<EmployeeDepartment> {
                    new EmployeeDepartment("Management", new Employee[] {
                    new Employee(0, "Gregory S. Price")
                    }, true),
                    new EmployeeDepartment("Marketing", new Employee[] {
                    new Employee(1, "Irma R. Marshall"),
                    new Employee(2, "Brian C. Cowling"),
                    new Employee(3, "Thomas C. Dawson"),
                    new Employee(4, "Bryan R. Henderson"),
                    }, true),
                    new EmployeeDepartment("Operations", new Employee[] {
                    new Employee(5, "John C. Powell"),
                    new Employee(6, "Harold S. Brandes"),
                    new Employee(7, "Jan K. Sisk"),
                    new Employee(8, "Sidney L. Holder"),
                    }, true),
                    new EmployeeDepartment("Production", new Employee[] {
                    new Employee(9, "Christian P. Laclair"),
                    new Employee(10, "James L. Kelsey"),
                    new Employee(11, "Howard M. Carpenter"),
                    new Employee(12, "Jennifer T. Tapia"),
                    },false),
                    new EmployeeDepartment("Finance", new Employee[] {
                    new Employee(13, "Karen J. Kelly"),
                    new Employee(14, "Judith P. Underhill"),
                    new Employee(15, "Russell E. Belton"),
                    },false)
                };
                return departments;
            }
        }
    }
    

    Set the TreeListView.AllowChildNodeSourceUpdates property to true to update child nodes when you set the collection property to a new value.

    The following code snippet (auto-collected from DevExpress Examples) contains a reference to the ChildNodesPath property.

    Note

    The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

    See Also