如何檢查當前是否在WPF DataGrid中顯示滾動(垂直或水平)? HorizontalScrollBarVisibility和VerticalScrollBarVisibility用於設置行爲,並將它們設置爲Auto。如何檢查WPF DataGrid中當前是否顯示滾動條?
11
A
回答
22
ScrollViewer scrollview = FindVisualChild<ScrollViewer>(dataGrid);
Visibility verticalVisibility = scrollview.ComputedVerticalScrollBarVisibility;
Visibility horizontalVisibility = scrollview.ComputedHorizontalScrollBarVisibility;
10
這裏的FindVisualChild的實現:
private childItem FindVisualChild<childItem>(DependencyObject obj)
where childItem : DependencyObject
{
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)
{
DependencyObject child = VisualTreeHelper.GetChild(obj, i);
if (child != null && child is childItem)
return (childItem)child;
else
{
childItem childOfChild = FindVisualChild<childItem>(child);
if (childOfChild != null)
return childOfChild;
}
}
return null;
}
0
Private Function FindVisualChild(Of childItem As DependencyObject)(ByVal obj As DependencyObject) As childItem
For i As Integer = 0 To VisualTreeHelper.GetChildrenCount(obj) - 1
Dim child As DependencyObject = VisualTreeHelper.GetChild(obj, i)
If child IsNot Nothing AndAlso TypeOf child Is childItem Then
Return CType(child, childItem)
Else
Dim childOfChild As childItem = FindVisualChild(Of childItem)(child)
If childOfChild IsNot Nothing Then
Return childOfChild
End If
End If
Next i
Return Nothing
End Function
相關問題
- 1. 滾動條不顯示在WPF Datagrid
- 2. WPF DataGrid水平滾動條不顯示
- 3. Datagrid滾動條不顯示
- 4. 如何檢查當前是否顯示啓動器/主屏幕
- 5. 如何檢查當前是否在iPhone中顯示視圖?
- 6. Wpf datagrid滾動條凍結
- 7. 如何檢查當前是否顯示SHAutoComplete()列表框?
- 8. 如何檢查當前是否顯示NSView?
- 9. 如何檢查當前是否顯示UIViewController?
- 10. Android - 如何檢查textview當前是否顯示鍵盤輸入
- 11. 我如何檢測當前是否顯示特定的活動?
- 12. WPF DataGrid不顯示滾動條和用盡可見區域
- 13. 檢查滾動條是否可以在WebBrowser中集中/滾動
- 14. 如何啓用滾動條/滾動WPF Datagrid
- 15. 如何使WPF DataGrid滾動條覆蓋不可滾動區域?
- 16. Flex檢測滾動條是否顯示在數據網格中
- 17. WPF Datagrid滾動
- 18. WPF DataGrid列寬自動和滾動條
- 19. 檢查當前前端是否顯示WordPress Widget
- 20. 如何知道JavaFx中是否顯示滾動條TableView
- 21. wpf(C#)DataGrid ScrollIntoView - 如何滾動到第一行不顯示?
- 22. 是否可以在DataGrid中顯示沒有行的水平滾動條?
- 23. 如何檢查當前活動前面是否有對話框?
- 24. 如何檢查網頁是否滾動?
- 25. 如何檢查ScrollView是否可滾動
- 26. 總是顯示滾動條
- 27. 重置WPF Datagrid滾動條位置
- 28. wpf datagrid excel像水平滾動條
- 29. wpf datagrid仍然隱藏滾動條
- 30. ListBox垂直滾動條不顯示(WPF)
我要實現自己FindVisualChild,不是嗎? – 2010-10-21 12:25:49
是的,有很多實現: http://stackoverflow.com/questions/980120/finding-control-within-wpf-itemscontrol – 2010-10-21 12:33:27