There is such a DataTemplate
<DataTemplate x:Key="FolderTemplate"> <CheckBox IsChecked="{Binding Path=IsSelected}" Checked="onCheck" Unchecked="OnUnckecked" Tag="{Binding Path=fullName}"> <TextBlock Text="{Binding Path=Name}" /> </CheckBox> </DataTemplate>
I fill treeview through it:
TreeViewItem _item = new TreeViewItem(); ////// Folder child = new Folder() { Name = String.Format("{0} ({1}:)", drive.VolumeLabel, drive.Name[0]), IsSelected = false, fullName = drive.Name }; TreeViewItem _node = new TreeViewItem(); _node.Header = child; _node.HeaderTemplate = FindResource("FolderTemplate") as DataTemplate; _node.Tag = drive.Name; _node.Expanded += TreeViewItem_Expanded; _item.Items.Add(_node); FolderTree.Items.Add(_item);
Events with checkboxes work, but I still need to call OnCheck on the parent node. Tell me how to do it, with xaml, I'm still on "you."