gpt4 book ai didi

WPF TreeView - 如何滚动使展开的分支可见

转载 作者:行者123 更新时间:2023-12-03 11:06:54 25 4
gpt4 key购买 nike

当我在树 View 中展开项目以便需要滚动时,会出现一个滚动条。但是,它不会为新扩展的项目分支向下滚动 - 它们被控件底部裁剪。因此,当我继续扩展树底部的项目时,我必须继续手动向下滚动以查看新的子项。有人对如何让它自动滚动以显示新扩展的项目有建议吗?

最佳答案

在 TreeView 上,处理 TreeViewItem.Expanded 事件(由于事件冒泡,您可以在 TreeView 级别执行此操作)。在 Expanded 处理程序中,在引发事件的 TreeViewItem 上调用 BringIntoView。

您可能需要反复试验才能在事件处理程序代码中获取 TreeViewItem。我认为(尚未检查)您的 Expanded 事件处理程序的 sender 参数将是 TreeView(因为这是附加事件处理程序的位置)而不是 TreeViewItem。而 e.Source 或 e.OriginalSource 可能是 TreeViewItem 的数据模板中的一个元素。因此,您可能需要使用 VisualTreeHelper 沿着可视化树向上查找 TreeViewItem。但是,如果您使用调试器来检查发送者和 RoutedEventArgs,这应该很容易弄清楚。

(如果您能够使其正常工作并希望将其捆绑起来,这样您就不必将相同的事件处理程序附加到每个 TreeView,那么将其封装为 attached behaviour 应该很容易,这将允许您应用它以声明方式,包括通过样式。)

关于WPF TreeView - 如何滚动使展开的分支可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2241367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com