У меня есть TreeView, содержимое которого (вложенные TreeViewItems) генерируется из набора данных посредством привязки данных, что, кажется, все работает нормально.Проблема, с которой я сталкиваюсь, заключается в том, что когда я пытаюсь манипулировать содержимым заголовков TreeViewItem в коде, свойство Header возвращает DataRowView, из которого был создан TreeViewItem, а не, как я ожидал, элемент управления, сгенерированный шаблоном.
Вот пример шаблона, который я использую для создания 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>
Может кто-нибудь указать, где я иду не так, и посоветовать мне, как получить доступ к флажкам заголовка (в идеале, не углубляясь в VisualTree, если это возможно)?
Спасибо, Джеймс