'WPF TreeView: Focus Selected Item

I've got a TreeView, that displays a Constant-Object which the User searched for. Those may have other Constant-Objects as a Parent or as Children. After selecting one of those objects in the TreeView, properties of this object are displayed below. I already managed to select the searched object after displaying the treeview, now I need to set focus onto it.

Screenshots:
Current state
What I want to achieve

TreeView XAML Code:

    <ContentControl x:Name="SelectedItemHelper" Content="{Binding SelectedConst, Mode=OneWayToSource}" Visibility="Collapsed"/>
    <TreeView x:Name="constOutput"  Margin="25,76,25,0" Height="130" HorizontalAlignment="Stretch" VerticalAlignment="Top" SelectedItemChanged="constOutput_SelectedItemChanged" ItemsSource="{Binding FoundConstants}" Style="{StaticResource lightGrayTV}">
      <TreeView.Resources>
        <HierarchicalDataTemplate DataType="{x:Type local:Constant}" ItemsSource="{Binding Children}">
          <TextBlock Text="{Binding Path=Name}" Style="{StaticResource txtTV}"/>
          <HierarchicalDataTemplate.ItemTemplate>
            <HierarchicalDataTemplate DataType="{x:Type local:Constant}" ItemsSource="{Binding Children}">
              <TextBlock Text="{Binding Path=Name}"/>
              <HierarchicalDataTemplate.ItemTemplate>
                <HierarchicalDataTemplate DataType="{x:Type local:Constant}" ItemsSource="{Binding Children}">
                  <TextBlock Text="{Binding Path=Name}"/>
                  <HierarchicalDataTemplate.ItemTemplate>
                    <HierarchicalDataTemplate DataType="{x:Type local:Constant}" ItemsSource="{Binding Children}">
                      <TextBlock Text="{Binding Path=Name}"/>
                      <HierarchicalDataTemplate.ItemTemplate>
                        <HierarchicalDataTemplate DataType="{x:Type local:Constant}" ItemsSource="{Binding Children}">
                          <TextBlock Text="{Binding Path=Name}"/>

                        </HierarchicalDataTemplate>
                      </HierarchicalDataTemplate.ItemTemplate>
                    </HierarchicalDataTemplate>
                  </HierarchicalDataTemplate.ItemTemplate>
                </HierarchicalDataTemplate>
              </HierarchicalDataTemplate.ItemTemplate>
            </HierarchicalDataTemplate>
          </HierarchicalDataTemplate.ItemTemplate>

        </HierarchicalDataTemplate>
      </TreeView.Resources>
    </TreeView>

The SelectedConst property is being set to the SearchedConst property at the end of the search.

private void SearchForConst(object value)
    {
      FoundConstants.Clear();
      SearchedConstant = ConstantInfo.GetSearchedConstant(Input);
      ...
      }

      SelectedConst = SearchedConstant;
      
      OnPropertyChange(nameof(SearchedConstant));
      OnPropertyChange(nameof(FoundConstants));
    }

How can I force the TreeView to expand and focus onto the SearchedConst/SelectedConst?



Solution 1:[1]

Then you need to make a reproducible example. A small project that replicates the problem.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Hans-Henrik Møller