У меня есть DataGrid в приложении Silverlight с данными в нем. В нашем приложении также есть кнопка, которая может изменить макет так, что DataGrid изменит ширину.
Проблема в том, что вы находитесь в «маленьком» режиме и прокручиваете столбцы, которые вы не видите, их элементы DataGridCell получают Visibility = Collapsed. Теперь это нормально, когда вы прокручиваете, но когда размер DataGrid увеличивается, чтобы показать все столбцы, они остаются свернутыми. Однако по какой-то причине вы всегда можете видеть все ячейки в первом ряду.
Это пахнет как ошибка в элементе управления DataGrid. Кто-нибудь знает способ обойти это? Я дошел до добавления обработчика для SizeChanged в DataGrid, но я не совсем уверен, что вызывать, чтобы заставить его отображать эти свернутые ячейки.
РЕДАКТИРОВАТЬ: после некоторого тестирования я обнаружил, что это происходит только с GridLinesVisibility = "Horizontal"
XAML (Нажатие переключает ширину DataGrid от половины до полной):
<StackPanel Orientation="Vertical">
<data:DataGrid x:Name="testDataGrid" GridLinesVisibility="Horizontal" />
<Button HorizontalAlignment="Center" Content="Switch Width" Name="switchWidthButton" Click="Button_Click" />
</StackPanel>
Обновление: хотя иногда это может происходить, если GridLinesVisibilty
не установлено. Я точно не выяснил, при каких обстоятельствах это происходит.