我有一个 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/