I want to add two columns in wpf datagrid one image & one text columns dynamically.
Xaml code :
As Anvaka said, you can Use DataGridTemplateColumn
.
In C# you can add create DataGridTemplateColumn
as this, Here i have added a CheckBox
in to the DataGridTemplateColumn
.
DataGridTemplateColumn col1 = new DataGridTemplateColumn();
col1.Header = "MyHeader";
FrameworkElementFactory factory1 = new FrameworkElementFactory(typeof(Image));
Binding b1 = new Binding("Picture");
b1.Mode = BindingMode.TwoWay;
factory1.SetValue(Image.SourceProperty, b1);
DataTemplate cellTemplate1 = new DataTemplate();
cellTemplate1.VisualTree = factory1;
col1.CellTemplate = cellTemplate1;
datagrid.Columns.Add(col1);
Here Picture is a property of ImageSource
type in the class which collection is assigned to ItemsSource
of DataGrid
.