Пользовательский интерфейс WPF Datagrid показывает строки только после изменения размера окна
Я столкнулся с очень странным сценарием при обновлении содержимого сетки данных на основе выпадающего списка
У меня есть комбинированный список и сетка данных, и на основе выбранного элемента комбинированного списка содержимое сетки будет отображаться динамически.
Проблема: изначально сетка данных будет пустой при загрузке. Когда я выбираю элемент комбинированного списка, соответствующие данные будут связаны с сеткой данных, но данные не отображаются. Когда я изменяю размер окна (которое, в свою очередь, изменяет размер сетки данных), появляются результаты.
Вот мой код для датагрида
<DataGrid Grid.Row="1"
Name="dgSchools"
Grid.ColumnSpan="2"
VerticalAlignment="Stretch"
Visibility="{Binding IsChecked, ElementName=rdSchools, Converter={StaticResource BooleanToVisibilityConverter}}"
AutoGenerateColumns="False"
Margin="0,5"
Background="White"
HeadersVisibility="Column"
ItemsSource="{Binding SchoolDetails}"
SelectedItem="{Binding SelectedSchoolDetail}"
Height="150"
HorizontalScrollBarVisibility="Hidden"
SelectionMode="Single"
CanUserAddRows="False"
CanUserSortColumns="True">
<DataGrid.Columns>
<DataGridTextColumn Header="Location" Binding="{Binding Location}"/>
<DataGridHyperlinkColumn Header="School Name" Width="3*" Binding="{Binding Name}" IsReadOnly="True">
<DataGridHyperlinkColumn.ElementStyle>
<Style>
<EventSetter Event="Hyperlink.Click" Handler="OnSchoolNameClick"/>
</Style>
</DataGridHyperlinkColumn.ElementStyle>
</DataGridHyperlinkColumn>
</DataGrid.Columns>
</DataGrid>
А также SchoolDetails
является ReactiveList(Of School)
используя ReactiveUI
Private lstSchools As ReactiveList(Of School)
Public Property SearchResults() As ReactiveList(Of School)
Get
Return lstSchools
End Get
Set(value As ReactiveList(Of School))
Me.RaiseAndSetIfChanged(lstSchools, value)
End Set
End Property