Bre*_*orn 7 wpf listview scrollviewer
我有一个带有多个ListView控件的应用程序,其中要求ListView中的项目必须完全可见.应该永远不会在列表中显示部分ListViewItem.如果用户在最终显示部分项目的位置释放ScrollViewer,则列表应"快照"并自行更正,以便仅显示完整项目.
有没有人这样做过?我想我需要重载ListView和/或ScrollViewer才能执行此操作.我正在寻找有关如何处理此问题的建议.谢谢.
这是我的一个清单:
<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>
Run Code Online (Sandbox Code Playgroud)