2015-10-25 3 views
0

Это мой DataGrid;DataGridColumn binding fail

<DataGrid Visibility="Visible" 
     Grid.Row="1" 
     SelectionUnit="CellOrRowHeader" 
     Name="dataGrid" 
     SelectionMode="Single" 
     ItemsSource="{Binding collcection}"> 
     <DataGrid.ContextMenu> 
      <ContextMenu> 
       <MenuItem Command="Copy" Click="MenuItem_Click_1"/> 
      </ContextMenu> 
     </DataGrid.ContextMenu> 
     <DataGrid.Columns> 
      <DataGridTemplateColumn Header="Select"> 
       <DataGridTemplateColumn.CellTemplate> 
        <DataTemplate> 
         <CheckBox 
          x:Name="cbRunRobot" 
          IsChecked="{Binding Value}" 
          Width="60" 
          Height="25" 
          Checked="cbRunRobot_Checked" 
          Unchecked="cbRunRobot_Unchecked" 
          Margin="25,0,0,0" /> 
        </DataTemplate> 
       </DataGridTemplateColumn.CellTemplate> 
      </DataGridTemplateColumn> 

     </DataGrid.Columns> 
    </DataGrid> 

вид Модель:

list<MyData> collcection; 
public class MyData 
{ 
    public string Name; 
    public string Id; 
} 

Я пытаюсь добавить это Column:

<DataGridColumn Binding="{Binding Name}" Header="Name" Width="180"/> 

И получил эти ошибки:

Ошибка 1 Тип "DataGridColumn" является абстрактным и должен содержать явное значение.

Ошибка 2 Элемент «Связывание» не распознается или недоступен.

+0

Можете ли вы добавить свой полный xaml DataGrid. У вас есть столбцы, определенные в ? – KornMuffin

+0

Просмотреть мое обновление .. –

ответ

0

Привет Я могу предложить вам следующее:

  1. Привязать к ObservableCollection вместо списка.
  2. Создайте модель MyData для реализации InotifyPropertyChanged.
  3. Сделать каждое свойство привязки в модели MyData для запуска события OnPropertyChanged.
  4. Вот ссылка на рабочий пример: How to Display and select items in a Datagrid ComboBox with WPF C#, using MVVM.

С уважением,

1

DataGridColumn является абстрактным классом, который означает, что он не может быть создан. То же самое относится к DataGridBoundColumn.

Ты варианта:

  • DataGridCheckBoxColumn для булевых значений
  • DataGridComboBoxColumn для перечислимых значений
  • DataGridHyperlinkColumn для Uri значения
  • DataGridTemplateColumn показать любые типы данных, определяя свой собственный шаблон клеток
  • DataGridTextColumn для отображения значений текста

Похоже, что DataGridTextColumn - это то, что вы ищете.

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