Tengo una aplicación con múltiples controles ListView donde hay un requisito de que el elemento en el ListView debe ser completamente visible. Nunca debe haber elementos de ListViewItem parciales en la lista. Si el usuario suelta el ScrollViewer en una posición que termina mostrando un elemento parcial, entonces la lista debe "ajustarse" y corregirse a sí misma para que solo se muestren los elementos completos.WPF ListView Mostrar siempre los elementos completos
¿Alguien ha hecho esto antes? Creo que voy a necesitar sobrecargar ListView y/o ScrollViewer para hacer esto. Estoy buscando sugerencias sobre cómo abordar esto. Gracias.
He aquí una de mis listas:
<ctrls:SnapList x:Name="PART_ProductList"
ScrollViewer.CanContentScroll="False"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ItemContainerStyle="{StaticResource ProductFinderItem}"
Canvas.Top="373" Canvas.Left="75"
Height="910" Width="900" >
<ctrls:SnapList.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel VirtualizingStackPanel.IsVirtualizing="True" VirtualizingStackPanel.VirtualizationMode="Standard" />
</ItemsPanelTemplate>
</ctrls:SnapList.ItemsPanel>
<ctrls:SnapList.Template>
<ControlTemplate>
<ScrollViewer x:Name="Scroller" VerticalAlignment="Top" CanContentScroll="True" Style="{StaticResource VertScrollViewer}" Focusable="false" >
<ItemsPresenter />
</ScrollViewer>
</ControlTemplate>
</ctrls:SnapList.Template>
</ctrls:SnapList>
¿De qué ScrollViewer está hablando? ¿Tiene un ScrollViewer en una Grilla (o algo) que contiene múltiples ListViews y cuando ese ScrollViewer cambia de posición, entonces quiere asegurarse de que todos los ListViewItems estén visibles? Para un ListView en sí mismo, ni siquiera puedo obtener que muestre elementos parciales. –
Estoy hablando del ScrollViewer en ControlTemplate de la lista. Agregué el xaml para una de las listas a mi publicación. El ScrollViewer del que hablo es el que tiene x: Name = "Scroller" en el ejemplo XAML. –
* ListBox * tiene exactamente el mismo comportamiento por defecto. ¿Se puede usar un * ListBox * en lugar de un * ListView *? – decyclone