2011-12-19 2 views
0

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

Часть 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; 

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

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

+0

Возможна публикация следующих вопросов: http://stackoverflow.com/q/8346869/920384 – punker76

+0

В этом примере кода нет, поэтому я не могу подключить точки только через xaml – CodeMe

+0

Трудно сказать, не видя больше кода , но я предполагаю, что ваш 'MyClass.Status' не является строкой, или привязка неверна. В какой момент ComboBox привязывается к вашему DataItem? Я ничего не вижу в XAML. И где вы заполняете его ItemsSource? Я запутался, потому что у вас есть привязка для 'ItemsSource', и похоже, что вы устанавливаете его в code-behind – Rachel

ответ

0

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

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

+0

список, который я заполняю, будет заполнен один раз, только мне нужно сделать класс только для некоторых статических значений? Кроме того, значения combo отображаются в комбо, единственная проблема заключается в выборе – CodeMe

Смежные вопросы