Это - несоответствие между блоками: DLL, на который ссылаются от блока, не имеет сигнатуры метода, это ожидается.
Чистят решение, восстанавливают все и попробовали еще раз.
кроме того, быть осторожным, если это - ссылка на что-то, это находится в GAC; могло случиться так, что что-то где-нибудь указывает на неверную версию. Удостоверьтесь (через Свойства каждой ссылки), что правильная версия выбрана или что Определенная Версия установлена ложь.
используйте это:
DataGridTemplateColumn col1 = new DataGridTemplateColumn();
col1.Header = "MyHeader";
FrameworkElementFactory factory1 = new FrameworkElementFactory(typeof(CheckBox));
Binding b1 = new Binding("IsSelected");
b1.Mode = BindingMode.TwoWay;
factory1.SetValue(CheckBox.IsCheckedProperty, b1);
factory1.AddHandler(CheckBox.CheckedEvent, new RoutedEventHandler(chkSelect_Checked));
DataTemplate cellTemplate1 = new DataTemplate();
cellTemplate1.VisualTree = factory1;
col1.CellTemplate = cellTemplate1;
dgTransportReqsts.DataGrid.Columns.Add(col1);
Я использовал это, чтобы добавить CheckBox в свой DataGridTemplateColumn во время выполнения. Надеюсь, это поможет !!
Ответ Анурага подойдет вам, если вы хотите добавить кнопки до создания экземпляра сетки , особенно перед добавлением столбца в сетку.
Если вы хотите добавить кнопку в ячейку сетки после того, как сетка уже построена , вы можете сделать это, внеся изменения в объект DataGridCell. Сначала вы должны его найти:
DataGridCell
с помощью DataGridColumn.GetCellContent
VisualTreeHelper
для сканирования визуального дерева до DataGridCell
Как только это будет сделано, есть несколько способов добавить кнопку в DataGridCell, в зависимости от того, чего вы пытаетесь достичь:
DataGridCell.Template
в ControlTemplate, содержащий кнопки и другой стиль по вашему желанию, просто добавьте элемент в свойство ObservableCollection