我第一次在TreeView
中展开节点时,TreeView
' s ScrollViewer
会将滚动条跳到顶部。在此初始跳转之后,TreeView
的滚动按预期运行。
如何防止此行为?
我已尝试在FocusManager.IsFocusScope="True"
上设置TreeView
,我甚至尝试过在ScrollToTop()
&#上调用TreeView
等奇怪的事情39; ScrollViewer
回调中的Loaded
,看看我是否可以触发某种不会发生的初始化。
答案 0 :(得分:0)
我遇到了同样的情况,下面为我解决了这个问题。在后面的代码中,在创建树视图项目之后,请执行以下操作:
TreeViewItem item = this.TreeView.ItemContainerGenerator.ContainerFromIndex(0) as TreeViewItem;
if (item != null)
{
item.IsSelected = true;
item.Focus();
}
答案 1 :(得分:0)
在我的情况下,扩展器切换按钮有一个自定义样式,属性“ Focusable”设置为False。当用户在树中展开某些内容时,这会导致TreeView滚动跳到所选项目。解决方案-Focusable =“ True”