Search code examples
c#wpfdatagrid

WPF add datagrid image column possible?


Using C#.Net 4.5, Visual Studio 2012 Ulti, WPF.

I've got some old win-forms code that i wanted to do in this new WPF app.

code is the following:

DataGridViewImageCell pNew = new DataGridViewImageCell();

ParetoGrid.Columns.Add(new DataGridViewImageColumn() { CellTemplate = pNew, FillWeight = 1, HeaderText = "pNew", Name = "pNew", Width = 30 });

ParetoGrid.Columns["pNew"].DisplayIndex = 18;

3 lines of code to add a column that can handle images. In WPF I've seen its a bit different. Do i need to add an "image column"? or does WPF columns support images? or is there another 3 liner solution that is simply different syntax?

Thanks for the help guys


Solution

  • See this answer:

    Image Column in WPF DataGrid

     <DataGridTemplateColumn Header="Image" Width="SizeToCells"
     IsReadOnly="True">
       <DataGridTemplateColumn.CellTemplate>
          <DataTemplate>
               <Image Source="{Binding Image}" />
          </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>
     </DataGridTemplateColumn>
    

    To add a column in code after:

    DataGridTextColumn textColumn1 = new DataGridTextColumn();
    textColumn1.Header = "Your header";
    textColumn1.Binding = new Binding("YourBindingField");
    dg.Columns.Add(textColumn1);
    

    Use DataGridTemplateColumn to add a custom column See: How do I show image in wpf datagrid column programmatically?