I am using a DataGrid to display several fields, one of which is a multi-line description. The grid displays the data just fine until I try to hide the header rows by setting HeadersVisibility="Column"
. The header rows disappear but then while I am scrolling the row header reappears for some random rows.
I have narrowed it down to the column that displays multi-line description. As long as I leave this column off, then I don't have this issue. I have tried separating the lines by both "\r\n"
and "\n"
but neither work. Does the DataGrid support multi-line text fields?
Below is a picture to show what is happening and the XAML I used to create the grid.
<DataGrid DataContext="{StaticResource personRepository}"
ItemsSource="{Binding PersonList, Mode=OneWay}"
AutoGenerateColumns="False"
HeadersVisibility="Column"
CanUserSortColumns="False"
SelectionMode="Extended"
IsReadOnly="True">
<DataGrid.Columns>
<DataGridTextColumn Header="Id" Width="80" Binding="{Binding Id, Mode=OneWay}" />
<DataGridTextColumn Header="First Name" Width="150" Binding="{Binding FirstName, Mode=OneWay}" />
<DataGridTextColumn Header="Last Name" Width="150" Binding="{Binding LastName, Mode=OneWay}" />
<DataGridTextColumn Header="Description" Width="*" Binding="{Binding Description, Mode=OneWay}" />
</DataGrid.Columns>
</DataGrid>
Try setting
RowHeaderWidth = 0
instead ofHeaderVisibility
In this case lvCurDocFields is the parent ListView. The down side here is you need to set hard widths for the other columns and then the total of those other columns is the ConverterParameter. If you have a vertical scroll bar then leave about 20. GridView is kind of a pain but I like the presentation as for read only it is much more efficient than DataGrid