Я использую DataGrid для отображения нескольких полей, одно из которых представляет собой многострочное описание. Сетка отображает данные просто отлично, пока я не попытаюсь скрыть строки заголовка, установив HeadersVisibility="Column"
. Строки заголовка исчезают, но затем, когда я прокручиваю заголовок строки, появляется снова для некоторых случайных строк.WPF DataGrid Ошибка видимости заголовка строки заголовка
Я сузил его до столбца, который отображает многострочное описание. Пока я покидаю этот столбец, у меня нет этой проблемы. Я пробовал разделять строки как "\r\n"
, так и "\n"
, но не работает. Поддерживает ли DataGrid многострочные текстовые поля?
Ниже приведено изображение, показывающее, что происходит, и XAML, который я использовал для создания сетки.
<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>
Что вы имеете в виду под «скрыть строки заголовка «? HeadersVisibility = «Столбец» по умолчанию. Какова была настройка раньше (что сработало)? Если это только чтение, я бы использовал ListView GridView. Больше XAML, но я думаю, что вам лучше контролировать форматирование. Для содержимого используйте TextBlock и установите Wrap on для описания. – Paparazzi
По умолчанию используется HeadersVisibility = All. Строка заголовка маленькая, но она есть. Я начал с GridView, но ширина столбцов не будет принимать нотацию «*», чтобы последний столбец заполнил оставшееся пространство. – dewald
Вы должны использовать конвертер для * с GridView. Я отправлю его в качестве ответа, если хотите. – Paparazzi