На мой взгляд, я использую DataGrid
для отображения и редактирования записей в базе данных. Теперь мне нужно заменить одну из DataGridTextColumn
на DataGridComboBoxColumn
. Оставшиеся DataGridTextColumn
s заполняются ObservableCollection
(CurrentFilters
), но CombBox
принимает значения stati c из перечисления, превращенного в список (FilternameList
).
Я сделал это так, чтобы пользователь не может просто что-то записать в указанный столбец c и должен использовать предопределенные значения.
Проблема в том, что DataGridComboBoxColumn
не отображает никаких значений при (повторной) загрузке Посмотреть. Существует также проблема - или что-то, чего я действительно не понимаю - с тем, как значения, выбранные в ComboBox, отображаются после их выбора.
Вот таблица данных:
<DataGrid ItemsSource="{Binding CurrentFilters, Mode=TwoWay}" Grid.Row="1" SelectionMode="Single" ClipboardCopyMode="IncludeHeader" UseLayoutRounding="True" SelectionUnit="FullRow" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding Id}" Width="Auto" IsReadOnly="True"/>
<DataGridTextColumn Header="Contraction" Binding="{Binding ChannelId, Converter={cv:IDtoContractionConverter}}" Width="Auto"/>
<DataGridComboBoxColumn Header="FilterName" Width="Auto"
ItemsSource="{Binding Source={x:Static vm:ConfigViewModel.FilternameList}}"
SelectedItemBinding="{Binding FilterName, Mode=TwoWay}"/>
<DataGridTextColumn Header="FilterCharValue" Binding="{Binding FilterCharValue}" Width="300"/>
<DataGridTextColumn Header="FilterNumberValue" Binding="{Binding FilterNumberValue}" Width="140"/>
<DataGridTextColumn Header="FilterDescription" Binding="{Binding FilterDescription}" Width="Auto"/>
</DataGrid.Columns>
</DataGrid>
Вот как выглядит мой текущий прогресс: ![Current Progress](https://i.stack.imgur.com/OF2Yv.png)
Первая строка - это то, как выглядит столбец FilterName
прямо сейчас, при загрузке DataGrid
.
Вторая строка - это то, как это выглядит, когда выбрав новое значение из ComboBox
. Это также значение по умолчанию при загрузке DataGrid
. Значения есть, я просто не знаю, как их отобразить.
Третья строка показывает ComboBox
, заполненную значениями перечисления, которые можно выбрать.
tl; dr : мне нужно найти способ показать значения из ObservableCollection
после их изменения во время выполнения, в DataGridComboBoxColumn
при загрузке / редактировании DataGrid
.