wpf-devexpress-dot-xpf-dot-grid-dot-treeviewcontrol-9a4d1f64.md
Gets or sets the name of the data source field assigned to the TreeViewControl. This is a dependency property.
Namespace : DevExpress.Xpf.Grid
Assembly : DevExpress.Xpf.Grid.v25.2.dll
NuGet Package : DevExpress.Wpf.Grid.Core
public string TreeViewFieldName { get; set; }
Public Property TreeViewFieldName As String
| Type | Description |
|---|---|
| String |
The name of a data source field.
|
The TreeViewFieldName specifies the field name in a data source. The TreeViewControl displays data from this field.
<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 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")
}),
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"),
}),
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"),
}),
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"),
}),
new EmployeeDepartment("Finance", new Employee[] {
new Employee(13, "Karen J. Kelly"),
new Employee(14, "Judith P. Underhill"),
new Employee(15, "Russell E. Belton"),
})
};
return departments;
}
}
}
Imports System.Windows
Imports System.Collections.Generic
Imports System.Collections.ObjectModel
Imports DevExpress.Mvvm
Namespace TreeViewChildNodesSelector
Public Class MainWindowViewModel
Inherits ViewModelBase
Public Sub New()
EmployeeDepartments = Departments.GetDepartments()
End Sub
Public Property EmployeeDepartments As List(Of EmployeeDepartment)
End Class
Public Class Employee
Public Sub New(ByVal id As Integer, ByVal name As String)
ID = id
Name = name
End Sub
Public Property ID As Integer
Public Property Name As String
End Class
Public Class EmployeeDepartment
Public Property Name As String
Public ReadOnly Property Employees As ObservableCollection(Of Employee)
Public Property HasChildNodes As Boolean
Public Sub New(ByVal name As String, ByVal employees As IEnumerable(Of Employee))
Name = name
Employees = New ObservableCollection(Of Employee)(employees)
End Sub
End Class
Module Departments
Function GetDepartments() As List(Of EmployeeDepartment)
Dim departments As List(Of EmployeeDepartment) = New List(Of EmployeeDepartment) From {
New EmployeeDepartment("Management", New Employee() {New Employee(0, "Gregory S. Price")}),
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")}),
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")}),
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")}),
New EmployeeDepartment("Finance", New Employee() {New Employee(13, "Karen J. Kelly"), New Employee(14, "Judith P. Underhill"), New Employee(15, "Russell E. Belton")})
}
Return departments
End Function
End Module
End Namespace
If you need to specify a custom template for cells in a column, use the NodeContentTemplate property ( NodeContentDisplayTemplate, NodeContentEditTemplate ). To change the appearance of cell content, set the NodeContentStyle property.
The following code snippet (auto-collected from DevExpress Examples) contains a reference to the TreeViewFieldName 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.
create-an-application-with-the-wpf-treeview-control/CS/TreeViewGettingStarted/MainWindow.xaml#L14
ChildNodesPath="Employees"
TreeViewFieldName="Name"/>
</Grid>
See Also