WPF ListView virtualization. How to disable ListView virtualization?

10,849

As stated by H.B. in their answer here:

Set VirtualizingStackPanel.IsVirtualizing to false on the ListView or set a normal StackPanel as the ListView.ItemsPanel.

<ListView VirtualizingStackPanel.IsVirtualizing="False"/>

or

<ListView>
 <ListView.ItemsPanel>
     <ItemsPanelTemplate>
       <StackPanel></StackPanel>
      </ItemsPanelTemplate>
  </ListView.ItemsPanel>
 </ListView>
Share:
10,849
Oomph Sonar
Author by

Oomph Sonar

Updated on June 27, 2022

Comments

  • Oomph Sonar
    Oomph Sonar almost 2 years

    I have some troubles with custom ListView (CheckBoxes inside lost their states when scrolling ListView). Can I disable ListView virtualization without visual tree enumerating?

    <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>