[英]WPF: How to extract Scrollbar From ScrollViewer programmatically?
我想從我的ScrollViewer中訪問Scrollbar。
我認為它隱藏在ScrollViewer模板中的某個地方,有沒有辦法讓我訪問,並以編程方式獲取它的引用?
所以,如果我有
<ScrollViewer x:Name="myScrollViewer">
在我想要的代碼中:
ScrollBar scrollBar = myScrollViewer.GetScrollBar();
(顯然,我認為它比那更棘手)
我想我明白了......
myScrollViewer.ApplyTemplate();
ScrollBar s = myScrollViewer.Template.FindName("PART_VerticalScrollBar", myScrollViewer) as ScrollBar;
您需要使用VisualTreeHelper.GetChild
方法遍歷ScrollViewer
的可視樹以查找ScrollBar
。
從這篇博客文章中獲取VisualTreeEnumerator
代碼。
有了這個擴展類: -
ScrollBar s = myScrollViewer.Decendents()
.OfType<ScrollBar>()
.FirstOrDefault(sb => sb.Name == "PART_VerticalScrollBar");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.