我目前正在开发一个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
我当前的解决方案的问题是,我的项目可以查看但不在我的树视图之上我想要的内容。
有人知道怎么做吗?
(顺便说一下:没有通过这篇文章得到答案:Treeview -- How to scroll until selected item is on top?)