Actualmente estoy compilando una aplicación Windows 8 XAML C#. En una página, tengo un scrollviewer para desplazamiento horizontal y desplazamiento. Tengo varios controles que funcionan muy bien con scorllviewer. Pero cuando se desplaza y su cursor se encuentra en la parte superior de ListView/GridView, ese control manejará scrollnig en lugar del scrollviewer. Con deslizar esto no sucede, pero con la rueda de desplazamiento del mouse detiene el desplazamiento de desplazamiento de vista. ¿Alguien sabe cómo deshabilitar este comportamiento o tiene una solución alternativa?ScrollViewer GridView XAML
Respuesta
Este es un problema que veo también. No existe en contacto: solo parece ocurrir cuando se usa la rueda del mouse. Aún no sé de una solución alternativa. No creo que haya uno.
Después de trabajar con este problema por un tiempo decidí cambiar de táctica. Al menos en mi solución, cambié el GridView interno para que fuera solo un ItemsControl. De esa manera puedo manejar todo el clic/toque pero aún así dejar que el desplazamiento funcione como se espera.
Por supuesto, esta solución no es para todo el mundo, ya que a veces necesita todo el material de selección también. Pero para mí funcionó ya que solo necesitaba el elemento clic/toque.
creo que sirve
he encontrado una solución aquí: msdn workaround
Básicamente lo que tienes que hacer lo siguiente:
Base XAML:
<Grid Name="BaseElement">
<ScrollViewer Name="MainScrollViewer" Style="{StaticResource HorizontalScrollViewerStyle}" VerticalScrollMode="Auto">
<GridView />
<GridView />
</ScrollViewer>
</Grid>
Añadir un nuevo Controlador del elemento raíz:
BaseElement.AddHandler(PointerWheelChangedEvent, new PointerEventHandler(Bubble_PointerWheelChanged), true);
Realizar el controlador al handel el desplazamiento:
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); }
También tuve el mismo problema. Luego he intentado eliminar barras de desplazamiento de la plantilla de cuadrícula como se menciona en el hilo de abajo .. funcionó bien para mí ..
mejor solución nunca.
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;
}
}
Más información: GridView in a ScrollViewer
1.Add este código en View.cs:
private void ThumbnailViewer_OnMouseWheel(object sender, MouseWheelEventArgs e)
{
ThumbnailViewerScroller.ScrollToHorizontalOffset(ThumbnailViewerScroller.HorizontalOffset - e.Delta);
}
código 2.Add en XAML:
<ScrollViewer
x:Name="ViewerScroller"
MouseWheel="ThumbnailViewer_OnMouseWheel">
<StackPanel>
...
</StackPanel>
</ScrollViewer>
- 1. ScrollViewer roba el foco
- 2. Desplazamiento vertical dentro del grupo de elementos GridView en WinRT XAML
- 3. Padres ScrollViewer desplazamiento en lugar de control secundario ScrollViewer
- 4. ScrollViewer no habilitado para ListView
- 5. Encabezado fijo en ListView y GridView WinRT xaml
- 6. C# WPF - Problemas ScrollViewer + TextBlock
- 7. desplazamiento ScrollViewer arriba a través viewmodel
- 8. Cómo hacer un ScrollViewer de bucle/circular en Windows 8 Metro (C++/XAML)
- 9. Vista de lista dentro de scrollviewer previene scrollviewer scroll
- 10. Silverlight Vertical solamente ScrollViewer?
- 11. WPF: ScrollViewer en rejilla
- 12. Problema con Windows Phone 7 scrollviewer
- 13. WPF: ListView dentro de Scrollviewer; Pregunta de diseño
- 14. envasado/objetos flotando en GridView (XAML) grupo 'float: left' sobre el punto más elevado
- 15. ¿Cómo preseleccionar múltiples elementos listview/gridview en la aplicación C#/XAML windows 8?
- 16. ItemsControl, VirtualizingStackPanel y ScrollViewer height
- 17. Wpf ScrollViewer Volumen de desplazamiento
- 18. WPF Eliminar ScrollViewer de TreeView
- 19. Silverlight Scrollviewer con solo botones
- 20. El ScrollViewer no se desplaza
- 21. Cómo vincular scrollbar y scrollviewer
- 22. WPF Scrollviewer PanningMode move Window?
- 23. Error Adorner en un Scrollviewer
- 24. Cómo deshabilitar ScrollViewer en ListBox?
- 25. ScrollViewer y SIP Edición (WP7.5 Mango)
- 26. Accediendo al ScrollViewer de un ListBox desde C#
- 27. XAML: hacer que ScrollViewer muestre las barras de desplazamiento cuando ScaleTransform de un objeto secundario se pone grande
- 28. Rendimiento lento con WPF DataGrid y ScrollViewer
- 29. Gridview wordwrap
- 30. Gridview desaparecer?
favor resumir en el enlace tu respuesta. – michaelb958