title: How does EnableColumnVirtualization in a DataGrid work?
body: <p>Given the following <code>Datagrid</code>:</p>
  
  <pre><code>&lt;DataGrid AutoGenerateColumns="False" HeadersVisibility="Column" 
          IsReadOnly="True"
          VirtualizingPanel.IsVirtualizing="true" VirtualizingPanel.VirtualizationMode="Standard"
          EnableColumnVirtualization="True"
          ItemsSource="{Binding Data, IsAsync=True}"&gt;
      &lt;DataGrid.Columns&gt;
          &lt;DataGridTextColumn Header="Header1" Width="Auto" Binding="{Binding Property1}" /&gt;
          &lt;DataGridTextColumn Header="Header2" Width="Auto" Binding="{Binding Property2, Mode=OneWay}" /&gt;
      &lt;/DataGrid.Columns&gt;
  &lt;/DataGrid&gt;
  &lt;/Grid&gt;
  </code></pre>
  
  <p>Why does it not show any rows? When I remove <code>EnableColumnVirtualization</code> or set it to <code>false</code> everything is normal. <code>EnableRowVirtualization</code> may be added or removed without showing any issues.</p>
  
  <p>Is there an explanation for this behavior?</p>