Как назначить и получить доступ к атрибуту Name флажка WPF, если флажок создается динамически из данных?
У меня есть TreeView и есть несколько слоев для TreeView с использованием HierarchicalDataTemplates. Каждый TreeViewItem в настоящее время отображает "имя" объекта, который он представляет. Теперь мне нужно добавить флажки к дочерним элементам дерева, которые я несколько выяснил, но я так и не нашел доступа к ИМЯ флажка, когда он отмечен.
Чтобы быть более конкретным, мне нужно имя флажка, который отмечен, потому что мне нужно применить фильтр к некоторым данным соответственно. Как получить доступ к имени каждого CheckBox, когда он проверяется, если CheckBox и Имя объекта для TreeViewItem создаются динамически из данных?
1 ответ
Я предполагаю, что у вас есть соответствующая команда в вашей модели представления, с которой связаны все элементы флажка в дереве.
привязать к команде и отправить текущее имя ComboBoxItem в качестве CommandParameter
<DataTemplate x:Key="ListBoxItemTemplate" DataType="{x:Type ListBoxItem}">
<CheckBox Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListBox},
Path=DataContext.CheckBoxItemCheckedCommand}"
CommandParameter="{Binding RelativeSource={RelativeSource Self}, Path=Name}"/>
</DataTemplate>