Tôi đã thực hiện VerticalScrollBarVisibility = "Disabled" vì tôi không muốn nội dung bên trong datagrid được xem vượt qua chiều cao được gán. Tôi không thể nhìn thấy thanh cuộn sau khi đưa ra tuyên bố trên. Nhưng tôi vẫn có thể cuộn xuống và xem hàng.Có người nào đó cho tôi biết làm cách nào để vô hiệu hóa việc cuộn tất cả lại với nhau? Cảm ơnLàm thế nào để vô hiệu hóa cuộn bên trong datagrid trong wpf C#
Trả lời
Khi bạn đã vô hiệu hóa VerticalScrollBarVisibility
cho DatGrid của bạn, bạn cần phải vô hiệu hóa chức năng cuộn của ScrollViewer như thế này:
ScrollViewer.CanContentScroll="False"
Nhưng khi bạn làm điều mình chắc chắn rằng bạn đã xác định một chiều cao tiêu chuẩn cho toàn bộ DataGrid và các hàng DataGrid của bạn sao cho người dùng có thể thấy tất cả các hàng bạn muốn họ xem, nếu không các hàng bị cắt nhỏ sẽ không được hiển thị và người dùng không thể cuộn xuống để xem chúng.
Hy vọng điều này sẽ hữu ích.
phép DataGrid để hiển thị tất cả nội dung của nó (vì vậy nó không cần phải di chuyển thanh):
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<DataGrid x:Name="DataGrid" />
</Grid>
Bạn hơn có thể đặt kết quả trong mọi nơi. Nó sẽ cắt kích thước của nó xuống kích thước của chủ sở hữu
Chỉ muốn thêm câu trả lời được áp dụng cho các cột. Thỉnh thoảng, bạn có thể thấy rằng Datagrid sẽ di chuyển đến các cột bổ sung mà bạn muốn vẫn ẩn, đặc biệt nếu chiều cao được điều chỉnh cụ thể sao cho bất kỳ cột bổ sung nào là vô hình. Tôi chỉ đơn giản là gắn một xử lý nạp vào Datagrid và thiết lập tất cả các cột bổ sung với chiều rộng là 0 và làm cho chúng ẩn đi.
Cách tiếp cận đúng sẽ là để vô hiệu hóa các mục tiêu Hit
DataGrid.IsHitTestVisible = false;
Các giải pháp chấp nhận không làm việc cho tôi kể từ khi tôi cần lựa chọn hàng. Tôi đã giải quyết tất cả các vấn đề của mình bằng cách vô hiệu hóa panagag dữ liệu (để kéo chuột) và xử lý các sự kiện từ khóa (dành cho bàn phím). Trong DataGrid XAML:
ScrollViewer.PanningMode="None"
Và:
PreviewKeyDown="OnDatagridPreviewKeyDown"
Trong mã sau:
private void OnDatagridPreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Right || e.Key == Key.Left)
e.Handled = true;
}
HTH.
Chỉnh sửa: Câu trả lời của tôi áp dụng cho các cột nhưng mọi thứ đều tương tự nhau cho các hàng.
- 1. WPF XAML: Làm thế nào để vô hiệu hóa đa lựa chọn trong một DataGrid?
- 2. Làm cách nào để vô hiệu hóa các ô chỉnh sửa trong một DataGrid WPF?
- 3. WPF Làm thế nào để vô hiệu hóa DropShadowEffect
- 4. Vô hiệu hóa backspace trong wpf
- 5. Làm thế nào để bạn vô hiệu hóa hiệu ứng MouseOver trên một Nút trong WPF?
- 6. Làm thế nào để vô hiệu hóa rìa trong Emacs?
- 7. C# Làm thế nào để vô hiệu hóa một phím
- 8. Làm cách nào để vô hiệu hóa cuộn ScrollView?
- 9. Làm thế nào để vô hiệu hóa subversion trong netbeans
- 10. Làm thế nào để vô hiệu hóa thanh cuộn mặc định cho textareas trong IE8?
- 11. Trong emacs, làm thế nào để vô hiệu hóa bình luận auto-indent trong C/C++?
- 12. Làm thế nào để vô hiệu hóa nút trong UIActionSheet?
- 13. Làm thế nào để vô hiệu hóa PerfWatson trong VS2012?
- 14. Làm thế nào để vô hiệu hóa javax.swing.JButton trong java?
- 15. Làm thế nào để vô hiệu hóa mod_deflate trong apache2?
- 16. AS3 vô hiệu hóa có thể chỉnh sửa/selectable cho textInput bên trong của một Datagrid
- 17. Làm thế nào để bạn vô hiệu hóa nhấp chuột phải bên trong một TextBox
- 18. Làm thế nào để vô hiệu hóa cảnh báo #pragma?
- 19. Làm thế nào tôi có thể vô hiệu hóa Cider (WPF Gui Editor) trong VS2008?
- 20. Làm thế nào vô hiệu hóa RequiredFieldValidator trong script
- 21. Làm cách nào để vô hiệu hóa cuộn dọc trong UIScrollView?
- 22. vô hiệu hóa sự kiện bọt C# WPF
- 23. Làm thế nào để vô hiệu hóa các dòng dưới dải công cụ trong winform C#?
- 24. Làm thế nào để vô hiệu hóa nút thu nhỏ trong C#?
- 25. làm thế nào để vô hiệu hóa mã C++ chết tước trong xcode
- 26. Làm thế nào để vô hiệu hóa pop up bảo mật của MS Outlook trong C#?
- 27. Làm thế nào để vô hiệu hóa ngầm "này" trong C#?
- 28. Làm thế nào để vô hiệu hóa WPF ContextMenu hình ảnh động?
- 29. Làm cách nào để vô hiệu hóa hành vi cuộn vào chế độ xem của TScrollBox?
- 30. Làm thế nào để vô hiệu hóa google maps kéo
Chỉ có giải pháp thực sự hoạt động ở đây. –
Bạn là một người tiết kiệm cuộc sống – user3091574
Tác phẩm này, nhưng không giải quyết được vấn đề nếu bạn hy vọng thực sự có thể nhấp vào bên trong lưới dữ liệu (chỉ để bỏ qua cuộn chuột bên trong nó) – CJBrew