DataGridComboBoxColumn не показывает список значений - PullRequest
0 голосов
/ 19 декабря 2011

Я хочу заполнить DataGridComboBoxColumn в DataGrid значениями статуса из списка строк.

XAML выглядит следующим образом

<DataGridComboBoxColumn Header="Status" >
  <DataGridComboBoxColumn.ElementStyle>
    <Style TargetType="ComboBox">
      <Setter Property="ItemsSource" Value="{Binding}" />
    </Style>
  </DataGridComboBoxColumn.ElementStyle>
</DataGridComboBoxColumn>

Код строки является простымОбщий список

var lstStrings = new List<string>();
lstStrings.Add("New");
lstStrings.Add("Open");
lstStrings.Add("ReOpen");
lstStrings.Add("Closed");

DataGridComboBoxColumn cmbx = grdComments.Columns[1] as DataGridComboBoxColumn;
cmbx.ItemsSource = lstStrings;

Данные Grid - это список объектов класса.Проблема в том, что значение столбца состояния данных сетки по умолчанию пустое (оно не показывает уже сохраненные значения).Когда я щелкаю ячейку, комбо отображается со значениями, но когда я выбираю любое значение, оно также не отображается.

Надеюсь, мое объяснение достаточно ясное.

1 Ответ

0 голосов
/ 20 декабря 2011

Чтобы привязка данных работала, элементы XAML должны быть связаны с общими свойствами класса.В приведенном вами примере кода может показаться, что вы пытаетесь выполнить привязку к локальной переменной.

Я бы посоветовал вам взглянуть на использование типа ObservableCollection и реализовать интерфейс INotifyPropertyChanged в своем классе, чтобы изменения в списке, внесенном в код, автоматически обновлялись в представлении.

...