Je suis en train d'ajouter des cases à cocher aux nœuds feuilles dans un TreeView WPF. Je sais comment faire si nous avons un nombre fixe de niveaux dans la hiérarchie et en utilisant un HierarchicalDataTemplate pour chaque niveau. Mais que faire quand je veux ceci:
-Node 1
- Noeud 1a (nœud feuille avec case à cocher)
- Noeud 1b
--- Noeud 1BI (nœud feuille avec case à cocher)
-Node 2
- Noeud 2a (noeud feuille avec case à cocher)modèle propre pour les noeuds de feuilles dans un WPF TreeView avec des niveaux inconnus
Je définis le DataContext dans le fichier de code sur un DataTable. Juste une table, avec une relation à soi-même.
DataContext = ds.MyDataTable;
XAML:
<UserControl x:Class="JostyWpfControls.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="240" Width="312">
<UserControl.Resources>
<HierarchicalDataTemplate x:Key="myTemplate"
ItemsSource="{Binding myDatasetRelation}">
<CheckBox IsChecked="{Binding IsChosen}">
<TextBlock Text="{Binding Description}"/>
</CheckBox>
</HierarchicalDataTemplate>
</UserControl.Resources>
<Grid>
<TreeView x:Name="treeView"
ItemsSource="{Binding}"
ItemTemplate="{StaticResource myTemplate}">
</TreeView>
</Grid>
</UserControl>
Cela fonctionne, mais me donne un chechbox à tous les nœuds. Je veux juste que les nœuds feuilles aient une case à cocher.
Pourriez-vous fournir une partie du XAML que vous avez déjà, comme point de départ pour fournir une réponse? pour vous? Je –
modifié ma question une d ajouté mon XAML. – jostyposty