正如大多数WPF开发人员所知,设置ScrollViewer.CanContentScroll为false禁用虚拟化; 但我想知道它是如何工作的,因为我尝试启用虚拟化,同时设置ScrollViewer.CanContentScroll到false.
VirtualizingStackPanel.VirtualizationMode = Recycling/Standard实际发生了什么.
我有一些自定义ListView的麻烦(CheckBoxes内部在滚动ListView时丢失了它们的状态).我可以在没有可视树枚举的情况下禁用ListView虚拟化吗?
<ListView>
<ListView.Resources>
<Style TargetType="GridViewColumnHeader">
<Setter Property="Visibility" Value="Collapsed" />
</Style>
</ListView.Resources>
<ListView.View>
<GridView>
<GridViewColumn Header="Address">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox Content="{Binding Address}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Name">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
Run Code Online (Sandbox Code Playgroud)