WPF树状视图-如何滚动树状视图直到所选项目位于顶部?

WPF树状视图-如何滚动树状视图直到所选项目位于顶部?,wpf,vb.net,xaml,treeview,Wpf,Vb.net,Xaml,Treeview,我目前正在开发一个wpf应用程序,其中我有一个带有层次结构数据模板的树视图,其中包含我自己的对象“Workstep” 我想做的是: 我想点击一个特定的键(字母),并将第一个工作步骤的名称以该字母开头放在我的树状视图的顶部 原因: 因为树视图很大,而且会滚动,直到在我工作的公司的生产区,特定的字母需要很多时间 我至今的工作: 在我的viewmodel中,我使用以下方法捕捉treeview的keydown事件(小心->K只是一个示例字母,说明我的意思): 我当前解决方案的问题是,我的项目可以查看,但

我目前正在开发一个wpf应用程序,其中我有一个带有层次结构数据模板的树视图,其中包含我自己的对象“Workstep”

我想做的是:

我想点击一个特定的键(字母),并将第一个工作步骤的名称以该字母开头放在我的树状视图的顶部

原因:

因为树视图很大,而且会滚动,直到在我工作的公司的生产区,特定的字母需要很多时间

我至今的工作: 在我的viewmodel中,我使用以下方法捕捉treeview的keydown事件(小心->K只是一个示例字母,说明我的意思):

我当前解决方案的问题是,我的项目可以查看,但不在我的树状视图的顶部查看我想要的内容

有人知道怎么做吗

(顺便说一句:我没有通过这篇文章得到答案:)

Public Sub TreeViewKeyDown(sender as Object, e as KeyEventArgs)
   if e IsNot Nothing AndAlso e.Key = Key.K Then
      For Each w In myTree
         If w.Name.StartsWith("K") Then
           Dim treeViewItem As TreeViewItem = CType(m_TreeViewInstance.ItemContainerGenerator.ContainerFromItem(w), TreeViewItem)
         treeViewItem.BringIntoView()  
         End If
      Next
   End If