У меня есть TreeView
с HierarchicalDataTemplate
(показано ниже), связанный с отношением данных в наборе данных. Родительские узлы представляют родительские части, а дети представляют части, составляющие родителя. В некоторых случаях пользователь будет устанавливать флажок на родительском уровне, чтобы указать, что они заменяют всю часть всеми ее дочерними элементами. В этот момент появится текстовое поле для ввода нового номера детали для родителя. Пока у меня это работает.Использование HierarchicalDataTemplate.Triggers для воздействия на элементы управления в ItemTemplate
Что мне нужно для помощи, это скрыть детей, когда установлен флажок parent. Я приближался к этому из пути триггера, но я не могу сделать ссылку на какой-либо элемент управления в ItemTemplate из триггера в HierarchicalDataTemplate.Triggers
. Возможно, это невозможно?
<HierarchicalDataTemplate ItemsSource="{Binding MyParts}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Description}" />
<CheckBox x:Name="MyCheckBox" IsChecked="{Binding ReplaceParent}"></CheckBox>
<TextBox x:Name="NewParentPartNumberTextBox" Text="{Binding NewPartNumber}" Visibility="Collapsed"></TextBox>
</StackPanel>
<HierarchicalDataTemplate.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding ChildPartNumber}" />
<TextBox Text="{Binding NewChildPartNumber}" />
</StackPanel>
</DataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
<HierarchicalDataTemplate.Triggers>
<Trigger SourceName="MyCheckBox" Property="IsChecked" Value="True">
<Setter TargetName="NewParentPartNumberTextBox" Property="Visibility" Value="Visible"/>
</Trigger>
</HierarchicalDataTemplate.Triggers>
</HierarchicalDataTemplate>