回答編集履歴

1

質問内容にあった、回答を追加しました。

2016/08/26 12:57

投稿

flied_onion
flied_onion

スコア2604

test CHANGED
@@ -1,3 +1,97 @@
1
+ **追記しました**
2
+
3
+
4
+
5
+ C#でそのxaml相当の事をしたいという事でしたね、ごめんなさい。
6
+
7
+
8
+
9
+ 多分以下の様にすれば行けると思います(DataGridの名前にByCodeがついてます。私が区別するためにつけただけですので適宜削除してください)。
10
+
11
+ 一応クラスライブラリ(アセンブリ名:imageDataGridのimageDataGrid.dll)を参照して表示することは確認しています。(元のXAMLも、C#も)
12
+
13
+
14
+
15
+
16
+
17
+ ```xaml
18
+
19
+ <DataGrid x:Name="AdditionGridByCode" AutoGenerateColumns="False">
20
+
21
+ </DataGrid>
22
+
23
+ ```
24
+
25
+
26
+
27
+ ```C#
28
+
29
+ var source = new BitmapImage(new Uri("pack://application:,,,/imageDataGrid;component/Images/Ok.png", UriKind.RelativeOrAbsolute));
30
+
31
+
32
+
33
+ var image = new FrameworkElementFactory(typeof(Image));
34
+
35
+ image.Name = "Status";
36
+
37
+ image.SetValue(Image.HeightProperty, 50.0);
38
+
39
+ image.SetValue(Image.WidthProperty, 50.0);
40
+
41
+ image.SetValue(Image.SourceProperty, source);
42
+
43
+
44
+
45
+ var cellTemplate = new DataTemplate(typeof(DataGridTemplateColumn));
46
+
47
+ cellTemplate.VisualTree = image;
48
+
49
+
50
+
51
+ var status = new DataGridTemplateColumn();
52
+
53
+ status.CellTemplate = cellTemplate;
54
+
55
+ status.Header = "Status";
56
+
57
+
58
+
59
+ AdditionGridByCode.Columns.Add(status);
60
+
61
+ ```
62
+
63
+
64
+
65
+ ポイントは…なんでしょう。DataTemplateのtypeofに参照先の型を参照先にしてあげるのと、
66
+
67
+ FrameworkElementFactoryを使って DataTemplateのVisualTreeにImageをElementで追加してあげるところでしょうか。
68
+
69
+
70
+
71
+ XAMLで書いた場合と違ってUriが違うとエラーになってしまう点に気を付けてください。
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+ ---
80
+
81
+
82
+
83
+ 以下、勘違いしていた時の回答。
84
+
85
+
86
+
87
+ うまくいかなかったとのコメントがありましたが、私の方ではうまくいきました。
88
+
89
+ そこがちょっと気にはなりますが、本質問と関係ないので深追いはしません。
90
+
91
+ (Resourceと埋め込まれたリソースを間違えたとかかなぁ。ライブラリの方でやっているしそれはなさそうに思いますが。まぁ、私がちゃんと質問の意図読み取れてなかったので齟齬があったせいだと思います。)
92
+
93
+
94
+
1
95
  これだけだと利用イメージがつかめないですが、バインドするだけの簡単なサンプルを挙げておきます。
2
96
 
3
97
 
@@ -120,7 +214,7 @@
120
214
 
121
215
 
122
216
 
123
- ![OK.png](0b1d371eec5ad9b998c2d46ffbf5a33f.png)
217
+ OK.pngのプロパティ様に貼ってあった画像は削除しました。必要なら履歴から参照してください。
124
218
 
125
219
 
126
220