Trusted by the world’s leading companies
Aperçu
Le contrôle WPF TreeGrid est un contrôle orienté données qui affiche des données autoréférentielles dans une interface arborescente multicolonnes. Les données peuvent être chargées à la demande. Les éléments peuvent être déplacés entre nœuds parents grâce à la fonctionnalité intégrée de glisser-déposer de lignes. Son riche ensemble de fonctionnalités inclut l’édition avec différents types de colonnes, la sélection, la sélection de nœuds avec cases à cocher, le tri et le filtrage.
Liaison de données
- Lier n’importe quelles données hiérarchiques en spécifiant le mappage des enfants.
- Afficher des données autoréférentielles en structure arborescente en spécifiant les mappages parent/enfant.
- Charger les données à la demande en utilisant des événements en mode entrant.

Édition
- Modifier les valeurs des cellules avec des éditeurs intuitifs pour différents types de colonnes, comme un sélecteur de date ou une combo box.
- Intégrer des contrôles tels qu’une barre de progression ou un composant d’évaluation pour afficher ou éditer des données.
- Valider ou annuler les modifications lorsqu’un objet de données implémente IEditableObject.

Indication d’erreur et validation intégrées
Validez les cellules et affichez les informations d’erreur en vous basant sur les types de validation suivants : IDataErrorInfo, INotifyDataErrorInfo, data annotations. Ou utilisez la validation au niveau de la cellule, de la ligne ou de la colonne.

Mise en forme des données

Tri
Triez les données selon une ou plusieurs colonnes avec de multiples options de personnalisation dans WPF TreeGrid. Il est également possible d’implémenter une logique de tri personnalisée.

Filtrage
Filtrez les nœuds à l’aide d’une interface de filtrage intégrée et inspirée d’Excel, ou programmez le filtrage avec différentes options de niveau de filtre.
Sélection
Les utilisateurs peuvent effectuer une sélection par ligne avec un large support pour la navigation au clavier. Il est également possible de sélectionner les lignes à l’aide de cases à cocher intuitives.

Dimensionnement des colonnes
La largeur des colonnes peut être ajustée (ajustement automatique) en fonction du contenu d’une colonne ou de son en-tête. Ajustez toutes les colonnes pour les faire tenir dans la zone d’affichage du TreeGrid en WPF.
Personnalisation des lignes et des colonnes

Figer les volets
Figez les colonnes à gauche et à droite de la zone d’affichage, similaire à Excel.

En-têtes empilés
Les en-têtes empilés (étendue d’en-tête de colonne) permettent d’afficher des lignes d’en-têtes non liées. Ils étendent les colonnes d’en-tête empilées sur plusieurs lignes et colonnes.

Fusion de cellules
Fusionnez dynamiquement les données de cellules adjacentes et présentez-les dans une seule cellule. Il est également possible d’écrire une logique personnalisée pour la fusion des cellules.
Apparence
L’apparence d’un WPF TreeGrid et de ses éléments internes — lignes, cellules, colonnes, en-têtes — peut être personnalisée.

Glisser et déposer de lignes
Glissez et déposez des lignes au sein d’un même contrôle ou entre plusieurs contrôles grâce à une interface de glisser et déposer de lignes intuitive.

Menu contextuel
Le contrôle WPF TreeGrid propose un menu contextuel entièrement personnalisable pour exposer des fonctionnalités dans l’interface utilisateur. Les utilisateurs peuvent créer des menus contextuels pour les lignes d’enregistrement, les lignes d’en-tête et les lignes d’expansion.

Opérations du presse-papiers
Effectuez des opérations de presse-papiers telles que couper, copier et coller au sein du contrôle et entre d’autres applications comme le Bloc-notes ou Excel.
MVVM
Une manière simple et flexible d’utiliser toutes les propriétés et commandes nécessaires d’une vue TreeGrid WPF dans une approche MVVM.
Chargement asynchrone
Le WPF TreeGrid permet le chargement asynchrone des éléments à la demande. Cette fonctionnalité autorise le chargement asynchrone des éléments parents et enfants, offrant une expérience utilisateur fluide et sans interruption.

Localisation
Localisez toutes les chaînes statiques par défaut du WPF TreeGrid dans n’importe quelle langue prise en charge.

Droite à gauche (RTL)
Affichez le texte de droite à gauche (RTL) pour les utilisateurs travaillant avec des langues comme l’hébreu, l’arabe ou le persan.

Exportation
- Un ensemble riche d’options pour exporter les données vers les formats de fichiers Microsoft Excel, PDF et CSV.
- Plusieurs options pour personnaliser les opérations d’exportation.

Exemple de code WPF TreeGrid
Démarrez facilement avec le WPF TreeGrid en quelques lignes simples de XAML ou de C#, comme démontré ci-dessous. Explorez également notre Exemple WPF TreeGrid qui montre comment rendre et configurer le TreeGrid en WPF.
<Window x:Class="SfTreeGridDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:syncfusion="http://schemas.syncfusion.com/wpf"
xmlns:local="clr-namespace:SfTreeGridDemo"
mc:Ignorable="d"
WindowStartupLocation="CenterScreen"
Title="MainWindow" Height="450" Width="800">
<Window.DataContext>
<local:ViewModel />
</Window.DataContext>
<Grid x:Name="Root_Grid">
<syncfusion:SfTreeGrid Name="treeGrid"
ChildPropertyName="Children"
ItemsSource="{Binding PersonDetails}" />
</Grid>
</Window>namespace SfTreeGridDemo
{
public class ViewModel
{
public ViewModel()
{
this.PersonDetails = this.CreatePersonData();
}
private ObservableCollection<PersonInfo> _personDetails;
public ObservableCollection<PersonInfo> PersonDetails
{
get { return _personDetails; }
set { _personDetails = value; }
}
private ObservableCollection<PersonInfo> CreatePersonData()
{
var personList = new ObservableCollection<PersonInfo>();
ObservableCollection<PersonInfo> childCollection1 = new ObservableCollection<PersonInfo>();
childCollection1.Add(new PersonInfo() { FirstName = "Andrew", LastName = "Fuller", Availability = true, Salary = 1200000 });
childCollection1.Add(new PersonInfo() { FirstName = "Theodore", LastName = "Hoover", Availability = true, Salary = 1200000 });
ObservableCollection<PersonInfo> childCollection2 = new ObservableCollection<PersonInfo>();
childCollection2.Add(new PersonInfo { FirstName = "Ronald", LastName = "Fillmore", Availability = false, Salary = 23000 });
childCollection2.Add(new PersonInfo() { FirstName = "Steven", LastName = "Buchanan", Availability = true, Salary = 340000 });
personList.Add(new PersonInfo() { FirstName = "Obama", LastName = "bosh", Availability = false, Salary = 2000000, Children = childCollection1 });
personList.Add(new PersonInfo() { FirstName = "John", LastName = "Adams", Availability = true, Salary = 2000000, Children = childCollection2 });
personList.Add(new PersonInfo() { FirstName = "Thomas", LastName = "Jefferson", Availability = true, Salary = 300000, Children = childCollection1 });
personList.Add(new PersonInfo() { FirstName = "Andrew", LastName = "Madison", Availability = false, Salary = 4000000, Children = childCollection2 });
personList.Add(new PersonInfo() { FirstName = "Ulysses", LastName = "Pierce", Availability = true, Salary = 1500000, Children = childCollection1 });
return personList;
}
}
public class PersonInfo
{
private string _firstName;
private string _lastName;
private bool _available;
private double _salary;
private ObservableCollection<PersonInfo> _children;
public string FirstName
{
get { return _firstName; }
set { _firstName = value; }
}
public string LastName
{
get { return _lastName; }
set { _lastName = value; }
}
public bool Availability
{
get { return _available; }
set { _available = value; }
}
public double Salary
{
get { return _salary; }
set { _salary = value; }
}
public ObservableCollection<PersonInfo> Children
{
get { return _children; }
set { _children = value; }
}
}
}Vous ne savez pas comment créer votre premier WPF TreeGrid ? Notre documentation peut vous aider.
Je veux le lire maintenant.Plus de 155+ contrôles WPF
Foire aux questions
Pourquoi choisir le WPF TreeGrid de Syncfusion ?
Le WPF TreeGrid de Syncfusion offre les éléments suivants :
Flexible data binding avec prise en charge de toute collection implémentant l’interface IEnumerable.
- Prise en charge d’un mode non lié où les données sont chargées à la demande via des événements.
Chargement instantané des données autoréférentielles pour les afficher en structure arborescente à la demande et riche interaction UI.
Un grand nombre de fonctionnalités avec des options de personnalisation adaptées à la création d’applications complexes et à grande échelle.
Opérations CRUD en utilisant différents modes d’édition et des règles de validation intégrées.
- Haute performance.
- Configuration et API simples.
- Interface tactile et réactive.
Démos étendues (demos) et documentation pour commencer rapidement avec le TreeGrid pour WPF.
Puis-je télécharger et utiliser le WPF TreeGrid de Syncfusion gratuitement ?
Non, il s’agit d’un produit commercial qui nécessite une licence payante. Toutefois, une licence communautaire gratuite est également disponible pour les entreprises et les particuliers dont le chiffre d’affaires annuel brut est inférieur à 1 million USD et comptant cinq développeurs ou moins.
Comment débuter avec le WPF TreeGrid de Syncfusion ?
Un bon point de départ est notre documentation complète Documentation de démarrage.
Nos clients nous aiment
Recompenses
L’excellence—c’est une chose de l’affirmer, mais cela signifie davantage lorsque les autres la reconnaissent. Syncfusion® est fier de détenir les récompenses de l'industrie suivantes.