gpt4 book ai didi

c# - 检测,ScrollViewer的ScrollBar是否可见

转载 作者:可可西里 更新时间:2023-11-01 08:20:55 28 4
gpt4 key购买 nike

我有一个 TreeView。现在,我想检测垂直滚动条是否可见。当我用

尝试时
var visibility = this.ProjectTree.GetValue(ScrollViewer.VerticalScrollBarVisibilityProperty)

(其中 this.ProjectTree 是 TreeView)为了能见度,我总是使用 Auto。

我该如何检测 ScrollBar 是否有效可见?

谢谢。

最佳答案

您可以使用 ComputedVerticalScrollBarVisibility 属性。但为此,您首先需要在 TreeView 的模板中找到 ScrollViewer。为此,您可以使用以下扩展方法:

    public static IEnumerable<DependencyObject> GetDescendants(this DependencyObject obj)
{
foreach (var child in obj.GetChildren())
{
yield return child;
foreach (var descendant in child.GetDescendants())
{
yield return descendant;
}
}
}

像这样使用它:

var scrollViewer = ProjectTree.GetDescendants().OfType<ScrollViewer>().First();
var visibility = scrollViewer.ComputedVerticalScrollBarVisibility;

关于c# - 检测,ScrollViewer的ScrollBar是否可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20048431/

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