J'ai un TreeView dont le contenu (TreeViewItems imbriqué) est généré à partir d'un ensemble de données via la liaison de données, ce qui semble fonctionner correctement. Le problème que je rencontre est que lorsque j'essaie de manipuler le contenu des en-têtes TreeViewItem dans le code, la propriété Header retourne le DataRowView à partir duquel TreeViewItem a été généré et non, comme je m'y attendais, le contrôle généré par le template.WPF Valeur d'en-tête TreeViewItem après DataBinding
Voici un exemple du modèle que je utilise pour générer les TreeViewItems:
<DataTemplate x:Key="seasonTreeViewItemTemplate">
<TreeViewItem>
<TreeViewItem.Header>
<CheckBox Content="{Binding Path=Row.SeasonID}" Tag="{Binding}" ToolTip="{Binding Path=Row.Title}" IsEnabled="{StaticResource seasonPermitted}" Checked="CheckBox_Checked" Unchecked="CheckBox_Unchecked" />
</TreeViewItem.Header>
<TreeViewItem Header="Championships" ItemTemplate="{StaticResource championshipTreeViewItemTemplate}">
<TreeViewItem.ItemsSource>
<Binding Path="Row" ConverterParameter="FK_Championship_Season">
<Binding.Converter>
<local:RowChildrenConverter />
</Binding.Converter>
</Binding>
</TreeViewItem.ItemsSource>
</TreeViewItem>
</TreeViewItem>
</DataTemplate>
Quelqu'un peut-il indiquer où je vais mal et me conseiller comment accéder aux cases d'en-tête (idéalement sans entrer dans le VisualTree si possible)?
Merci, James