Làm thế nào để kiểm tra xem một cuộn (dọc hoặc ngang) hiện đang được hiển thị trong WPF DataGrid? HorizontalScrollBarVisibility và VerticalScrollBarVisibility được sử dụng để thiết lập hành vi và chúng được đặt thành Tự động.Làm cách nào để kiểm tra xem cuộn hiện có được hiển thị trong WPF DataGrid không?
11
A
Trả lời
22
ScrollViewer scrollview = FindVisualChild<ScrollViewer>(dataGrid);
Visibility verticalVisibility = scrollview.ComputedVerticalScrollBarVisibility;
Visibility horizontalVisibility = scrollview.ComputedHorizontalScrollBarVisibility;
10
Dưới đây là một thực hiện 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
Các vấn đề liên quan
- 1. Làm cách nào để kiểm tra xem Backbone.View có được hiển thị trong DOM không?
- 2. wpf (C#) DataGrid ScrollIntoView - làm cách nào để cuộn đến hàng đầu tiên không được hiển thị?
- 3. WPF DataGrid rất chậm để hiển thị
- 4. JQuery Kiểm tra để xem nếu Div được hiển thị
- 5. WPF DataGrid: làm cách nào để dừng tự động cuộn khi một ô được nhấp?
- 6. Kiểm tra xem phần tử có hiển thị trong div
- 7. cách kiểm tra khi nào cuộn UITableView được thực hiện
- 8. Kiểm tra các hàng có thể nhìn thấy trong WPF DataGrid
- 9. Cách kiểm tra xem WebView có được hiển thị đầy đủ và sẵn sàng không?
- 10. Cách kiểm tra xem JCheckBox có được kiểm tra không?
- 11. Làm cách nào để phát hiện xem thanh cuộn của JScrollPane có thay đổi mức hiển thị không?
- 12. Làm thế nào để vô hiệu hóa cuộn bên trong datagrid trong wpf C#
- 13. Làm cách nào để kiểm tra xem một ListView của tôi có số lượng mục có thể cuộn không?
- 14. Làm cách nào để kiểm tra xem một DataGridView có chứa cột "x" và cột "x" có hiển thị không?
- 15. Lỗi hiển thị tiêu đề hàng dữ liệu WPF DataGrid
- 16. Cách kiểm tra xem thanh cuộn có ở dưới cùng
- 17. Lập trình kiểm tra xem lịch có được hiển thị hay không
- 18. Kiểm tra xem QMainWindow của tôi hiện có hiển thị trong Qt
- 19. sử dụng jquery, làm cách nào để kiểm tra xem một phần tử có hiển thị hay không?
- 20. Làm cách nào để kiểm tra xem chế độ xem phương thức hiện có trên self.window.rootViewController của tôi không?
- 21. Làm cách nào để kiểm tra xem Textarea có trống trong Javascript hay Jquery không?
- 22. Cuộn dễ dàng cho WPF DataGrid
- 23. Làm thế nào để kiểm tra hiển thị (không có/khối) của một div trong jquery?
- 24. Làm cách nào để kiểm tra xem ổ cắm có được đóng trong Boost.Asio không?
- 25. Cách biết xem Xem bên trong Cuộn có hiển thị hoàn toàn hoặc không
- 26. Làm cách nào để kiểm tra xem một Ổ cắm hiện có được kết nối trong Java không?
- 27. Làm cách nào để kiểm tra xem có điều gì đó bị ẩn với jQuery không?
- 28. Làm cách nào để xác định liệu một địa chỉ được hiển thị trong khu vực hiện có thể xem?
- 29. Làm cách nào để kiểm tra xem plugin jQuery có được tải không?
- 30. Cách kiểm tra xem Google Street View có sẵn và hiển thị thông báo không?
tôi phải thực hiện FindVisualChild bản thân mình, làm tôi không? –
Vâng, có một số triển khai xung quanh: http://stackoverflow.com/questions/980120/finding-control-within-wpf-itemscontrol –