Как отфильтровать 3-х уровневое wpf древовидное представление - PullRequest
0 голосов
/ 22 января 2019

Попытка отфильтровать узлы уровня 2 и 3 в древовидном представлении wpf, связанном с набором данных.

Я пытался использовать преобразователь значений в свойстве видимости узлов, но являясь HierarchicalDataTemplate, преобразователь не является 't звонил.

                <ObjectDataProvider x:Key="dataSetProvider" MethodName="GetDataSet" ObjectType="{x:Type local:DataSetCreator}"/>

                <DataTemplate x:Key="SymbolTemplate">
                    <TextBlock Text="{Binding SymbolName}"/>
                </DataTemplate>

                <HierarchicalDataTemplate x:Key="FamilyTemplate" ItemsSource="{Binding Fam2Sym}" ItemTemplate="{StaticResource SymbolTemplate}">
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="{Binding FamilyName}" />
                        <TextBlock><Run Text=" ("/><Run Text=")"/></TextBlock>
                    </StackPanel>
                </HierarchicalDataTemplate>

                <HierarchicalDataTemplate x:Key="Categorytemplate" ItemsSource="{Binding Cat2Fam}" ItemTemplate="{StaticResource FamilyTemplate}">
                    <TextBlock Text="{Binding LocalizedName}" />
                </HierarchicalDataTemplate>

                <TreeView x:Name="archTree" DataContext="{StaticResource dataSetProvider}" ItemsSource="{Binding RvtCat}"
                          ItemTemplate="{StaticResource Categorytemplate}"/>

Я пытаюсь отфильтровать древовидное представление wpf, где, если узлы уровня 2 или 3 соответствуют строковому фильтру, показываются оба уровня.Я не могу найти способ сделать это.Я искал в Google, но не нашел подобных вопросов.Предложения?

...