如何检查当前是否在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