Добрый день!
Переписываю свой старый winforms на wpf.
Нужно что бы в колонке отображались картинки, но эти картинки зависели от данных с строке.
Чтобы добавить колонку с изображением делаю вот так.
DataGridTemplateColumn col = new DataGridTemplateColumn();
col.Header = String.Empty;
FrameworkElementFactory factory =
new FrameworkElementFactory(typeof (Image));
factory.SetValue(Image.SourceProperty, System.Windows.Interop.Imaging.
CreateBitmapSourceFromHBitmap(
Images.Image1.GetHbitmap(),
IntPtr.Zero,
Int32Rect.Empty,
BitmapSizeOptions.FromEmptyOptions()));
DataTemplate cellTemplate = new DataTemplate();
cellTemplate.VisualTree = factory;
col.CellTemplate = cellTemplate;
А каким образом можно менять изображение не пойму.
В Winforms я делал
protected override void OnCellFormatting(DataGridViewCellFormattingEventArgs e)
{
if (e.ColumnIndex == 1 && e.DesiredType == typeof(System.Drawing.Image))
{
int status = (int)this.Rows[e.RowIndex].Cells[1].Value;
switch (status)
{
case 1:
e.Value = Images.Image1;
break;
case 2:
e.Value = Images.Image2;
break;
case 3:
e.Value = Images.Image3;
break;
}
}
base.OnCellFormatting(e);
}