Tôi hiện đang xây dựng ứng dụng Windows XAML C# 8. Trong một trang, tôi có một scrollviewer cho swiping và di chuyển ngang. Tôi có một số điều khiển trong nó mà làm việc thực sự tốt với scorllviewer. Nhưng khi bạn di chuyển và con trỏ của bạn ở trên cùng của ListView/GridView, thì điều khiển đó sẽ xử lý scrollnig thay vì scrollviewer. Với thao tác vuốt này không xảy ra, nhưng với con lăn chuột, nó sẽ dừng cuộn cuộn scrollview. Có ai biết cách vô hiệu hóa hành vi này hoặc có cách giải quyết không?ScrollViewer GridView XAML
Trả lời
Đây cũng là vấn đề tôi thấy. Nó không tồn tại trong liên lạc - chỉ có vẻ xảy ra khi sử dụng bánh xe chuột. Tôi chưa biết cách giải quyết. Tôi không nghĩ có một.
Sau khi làm việc với vấn đề này trong một thời gian, tôi quyết định thay đổi chiến thuật. Ít nhất trong giải pháp của tôi, tôi đã thay đổi bên trong GridView thành chỉ là ItemsControl. Bằng cách đó tôi có thể xử lý tất cả các nhấp chuột/tap nhưng vẫn cho phép di chuyển công việc như mong đợi.
Tất nhiên, giải pháp này không dành cho tất cả mọi người vì đôi khi bạn cũng cần tất cả các công cụ lựa chọn. Nhưng đối với tôi nó đã làm việc như tôi chỉ cần mục bấm/tap.
Hy vọng nó giúp
Tôi tìm thấy một workaround ở đây: msdn workaround
Về cơ bản bạn phải làm như sau:
cơ sở XAML:
<Grid Name="BaseElement">
<ScrollViewer Name="MainScrollViewer" Style="{StaticResource HorizontalScrollViewerStyle}" VerticalScrollMode="Auto">
<GridView />
<GridView />
</ScrollViewer>
</Grid>
Thêm mới Trình xử lý cho phần tử gốc:
BaseElement.AddHandler(PointerWheelChangedEvent, new PointerEventHandler(Bubble_PointerWheelChanged), true);
Thực hiện Handler Handel sự di chuyển:
private void Bubble_PointerWheelChanged(object sender, PointerRoutedEventArgs e) { // Could walk up the tree to find the next SV or just have a reference like here: MainScrollViewer.ScrollToHorizontalOffset(MainScrollViewer.HorizontalOffset - e.GetCurrentPoint(null).Properties.MouseWheelDelta); }
Tôi cũng có cùng một vấn đề. Sau đó, tôi đã cố gắng loại bỏ cuộn thanh từ mẫu Lưới như đã đề cập ở bên dưới chủ đề .. nó làm việc tốt cho tôi ..
Giải pháp tốt nhất bao giờ hết.
public class CustomGridView : GridView
{
protected override void OnApplyTemplate()
{
base.OnApplyTemplate();
var sv = this.GetTemplateChild("ScrollViewer") as UIElement;
if (sv != null)
sv.AddHandler(UIElement.PointerWheelChangedEvent, new PointerEventHandler(OnPointerWheelChanged), true);
}
private void OnPointerWheelChanged(object sender, PointerRoutedEventArgs e)
{
e.Handled = false;
}
}
Thông tin thêm: GridView in a ScrollViewer
1.Add mã này trong View.cs:
private void ThumbnailViewer_OnMouseWheel(object sender, MouseWheelEventArgs e)
{
ThumbnailViewerScroller.ScrollToHorizontalOffset(ThumbnailViewerScroller.HorizontalOffset - e.Delta);
}
đang 2.Add trong XAML:
<ScrollViewer
x:Name="ViewerScroller"
MouseWheel="ThumbnailViewer_OnMouseWheel">
<StackPanel>
...
</StackPanel>
</ScrollViewer>
- 1. làm thế nào để vô hiệu hóa di chuyển ScrollViewer tự động ScrollViewer trong XAML Phone Application
- 2. Cuộn dọc bên trong nhóm GridView của các mục trong WinRT XAML
- 3. Tiêu đề dính trong ListView và GridView WinRT xaml
- 4. Chánh ScrollViewer di chuyển thay vì kiểm soát con ScrollViewer
- 5. ScrollViewer đánh cắp tiêu điểm
- 6. Cách tạo ScrollViewer vòng/tròn trong Windows 8 Metro (C++/XAML)
- 7. ScrollViewer không được kích hoạt cho ListView
- 8. WPF listview/gridsplitter/scrollviewer thay đổi kích thước vấn đề
- 9. Nhúng một ItemsControl trong ScrollViewer
- 10. Windows phone 7 scrollviewer problem
- 11. Scrollviewer & SIP Issue (WP7.5 Mango)
- 12. Silverlight Vertical only ScrollViewer?
- 13. ScrollViewer không cuộn
- 14. WPF: ListView bên trong Scrollviewer; Câu hỏi bố cục
- 15. Đóng gói/thả nổi các mục trong GridView (XAML) nhóm 'phao: trái' trên mục trên cùng
- 16. XAML/C#: Sự kiện nào xảy ra sau khi sắp xếp lại một GridView?
- 17. Làm thế nào để cuộn xuống dưới cùng của một ScrollViewer tự động với Xaml và ràng buộc?
- 18. Wpf ScrollViewer Số tiền cuộn
- 19. ItemsControl, VirtualizingStackPanel và ScrollViewer height
- 20. Lỗi Adorner trong một Scrollviewer
- 21. ScrollViewer không cuộn trong WPF
- 22. cách tốt nhất để Di chuyển đến End of ScrollViewer
- 23. Chọn kiểu nhóm trong gridview
- 24. Đặt nền cột trong WPF ListView/Gridview
- 25. C#/WPF - Lấy vị trí cuộn ScrollViewer?
- 26. WPF ScrollViewer: Ngang scolling không hoạt động
- 27. Định hướng GridView với Gói trong WinRT
- 28. hiệu suất chậm với WPF DataGrid và ScrollViewer
- 29. Điều khiển JQuery GridView
- 30. CommandArgument trong Gridview
Hãy tóm tắt các liên kết trong câu trả lời của bạn. – michaelb958