私は問題があります。
VS Designer を使用せずに、すべてを C# でプログラム的に記述したいと考えています。
だから、私は画像と DataGrid を作成しています (そしてそれを MainWindow Grid の子として追加しています):
Image img = new Image();
Uri uri = new Uri(@"C:\d1.jpg");
img.Source = new System.Windows.Media.Imaging.BitmapImage(uri);
DataGrid dg = new DataGrid();
grid1.Children.Add(dg);
次に、たとえば、テキストの 3 つと画像の 1 つの 4 つの列を追加します。最初に、サンプル データを使用して DataTable と DataRow を作成する必要があります。
DataTable dt = new DataTable();
dt.Columns.Add("Column1");
dt.Columns.Add("Column2");
dt.Columns.Add("Column3");
dt.Columns.Add("Column4", typeof(Image)); // type of image!
DataRow dr = dt.NewRow();
dr[0] = "aaa";
dr[1] = "bbb";
dr[2] = "ccc";
dr[3] = img; // add a sample image
dt.Rows.Add(dr);
これで、4 列と 1 行のデータを持つ DataTable ができました。
次に、次のように DataGrid の ItemsSource を設定するだけです。
dg.ItemsSource = dt.DefaultView;
私が間違っていることは何ですか?最後のグリッドに実際の画像ではなく System.Windows.Controls.Image が並んでいるのはなぜですか? バインドする必要がありますか?
デザイナーなしで、プログラムで行う必要があるすべてのこと。
その文字列の代わりに実際の画像を表示するには?