データグリッドのセル テンプレートを実装しようとしています。問題は、datagridview 内のオブジェクトにバインドしようとすると、期待する値が得られないことです。
スタイリングなしのデータグリッドは次のようになります。
非常に単純ですが、トリガー付きのセル テンプレートを使用してスタイルを設定しようとすると、次のようになります (上記の DAL.Task を持つ各セルにはオレンジ色の円が含まれている必要があります)。
グリッドのスタイルを設定するために使用している xaml は次のとおりです。
<DataTemplate x:Key="MiddleDataGridCellTemplate">
<グリッド>
<画像名="中央画像"
HorizontalAlignment="中央"
VerticalAlignment="中央"/>
</グリッド>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Row.ItemArray/TaskStatusName}"
値="進行中">
<Setter TargetName="CenterImage"
プロパティ="ソース"
Value="/besoControlLibrary;component/Resources/Spreadsheet_CheckedOut.png" />
</データトリガー>
</DataTemplate.Triggers>
</データ テンプレート>
「{Binding Row.ItemArray/TaskStatusName}」が問題を引き起こしていると推測していますが、datagridview 内の DAL.Task の TaskStatusName プロパティを引き出す正しい方法は何ですか?
空白のセルの値が DBNull であることがわかりました。
また、これらの値は、DataGrid のコンテキストである DataTable から取得されます。