TreeView
에 HierarchicalDataTemplate
(아래 참조)이 있고 데이터 집합의 데이터 관계에 바인딩되어 있습니다. 부모 노드는 부모 파트를 나타내며 자식 노드는 부모 노드를 구성하는 파트를 나타냅니다. 경우에 따라 사용자는 부모 레벨의 확인란을 선택하여 전체 부품을 모든 하위 부품으로 교체하고 있음을 나타냅니다. 이 시점에서 부모를위한 새 부품 번호를 입력 할 수있는 텍스트 상자가 나타납니다. 지금까지 나는 그 일을했습니다.HierarchicalDataTemplate.Triggers를 사용하여 ItemTemplate의 컨트롤에 영향을 미침
내가 도움이 필요한 것은 부모 확인란이 선택되었을 때 자녀를 숨기는 것입니다. 트리거 경로에서이 접근하고 있었지만, HierarchicalDataTemplate.Triggers
의 트리거에서 ItemTemplate의 컨트롤에 대한 참조를 만들 수없는 것 같습니다. 아마 그것은 가능하지 않습니까?
<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>