All, I am updating a `StatusBar` based on the number of rows selected in a `DataGrid`. I am doing this using MVVM. The relevant XAML is as follows
<DataGrid Grid.Row="1" AlternatingRowBackground="Gainsboro" AlternationCount="2" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" AutoGenerateColumns="False" RowHeaderWidth="0" IsReadOnly="True" CanUserAddRows="False" CanUserDeleteRows="False" SelectionMode="Extended" EnableRowVirtualization="False" ItemsSource="{Binding Cultures}"><DataGrid.Columns><DataGridTextColumn Header="Code" Binding="{Binding Code}" IsReadOnly="True"/><DataGridTextColumn Header="Language" Binding="{Binding Language}" IsReadOnly="True"/><DataGridTextColumn Header="LocalName" Binding="{Binding LocalName}" IsReadOnly="True"/></DataGrid.Columns><DataGrid.RowStyle><Style TargetType="DataGridRow"><Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" /></Style></DataGrid.RowStyle></DataGrid>
with the `StatusBar` defined by
<StatusBar Grid.Row="1" Margin="0,0.4,0.4,-0.4"><StatusBarItem DockPanel.Dock="Left" Background="#FF007ACC" Margin="0,2,0,0"><TextBlock Text="{Binding TotalSelectedCultures}" Margin="5,0,0,0" Foreground="White"/></StatusBarItem></StatusBar>
I am including this code so that you can see the options I am setting on the `DataGrid`; as I say, the functionaility [upon row selection with the mouse the number of rows selected is updated in the `StatusBar`'s `TextBlock`] is working. For further information on the basic mechanism I am using to do this see http://stackoverflow.com/a/2615487/626442.
Now, as I select many items, I am noticing that that the first column [called 'Code'] is not displaying/rendering correctly (as shown, half of it is cropped off).
I have set `EnableRowVirtualization="False"` otherwise it just plane does not work, but **why now is my first column not rendering correctly and how do I make it render correctly?**
Thanks for your time.
---
Note. I have attempted to set `EnableColumnVirtualization="False"` but this seems worse!? I have also set both `EnableColumnVirtualization="True"` and `EnableRowVirtualization="True"` and this greatly improves performance and removes the rendering problem. However, this breaks the `StatusBar` updates, it just stops as soon as the view scrolls.
"Everything should be made as simple as possible, but not simpler" - Einstein