Я пытаюсь связать WPF DataGrid с ReactiveList. К сожалению, в связке нет ни одной строки.
Я также пытался использовать обычный список в качестве источника данных.
Я также попробовал функцию AutoGenerateColumn и использовать привязку к свойствам (только геттеры, нет сеттеров) AuswertungsEntry.
Но свойства никогда не были доступны во время выполнения.
My view.xaml:
...
<DataGrid x:Name="AuswertungGrid" Grid.Row="1">
<DataGrid.Columns>
<DataGridTextColumn Header="Fehler" Binding="{Binding Name}"></DataGridTextColumn>
<DataGridTextColumn Header=" 1. Auswertung" Binding="{Binding ok1}"></DataGridTextColumn>
<DataGridTextColumn Header=" 1. Auswahl"></DataGridTextColumn>
<DataGridTextColumn Header=" 2. Auswertung"></DataGridTextColumn>
<DataGridTextColumn Header=" 2. Auswahlt"></DataGridTextColumn>
<DataGridTextColumn Header=" Gesamt"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
Моя привязка в view.xaml.cs:
this.WhenActivated((d) =>
{
this.OneWayBind(ViewModel,
viewModel => viewModel.Entries,
view => view.AuswertungGrid.ItemsSource)
.DisposeWith(d);
}
Моя ViewModel:
...
private readonly ObservableAsPropertyHelper<ReactiveList<AuswertungsEntry>> _Entries;
public ReactiveList<AuswertungsEntry> Entries => _Entries.Value;
public AuswertungViewModel()
{
_Entries = this.WhenAnyValue(x => x.Data)
.Where(x => x != null)
.SelectMany(x => CreateDataSource())
.ToProperty(this, x => x.Entries);
}
public async Task<ReactiveList<AuswertungsEntry>> CreateDataSource()
{
return await AuswertungsService.GetAuswertung();
}
...
Служба возвращает правильные данные. Я уже проверил это. Но строки не генерируются, ни с помощью функции GenerateAutoColumn, ни вручную.
Я ожидаю, что DataGrid будет заполнен предоставленными данными.