データグリッドのセル テンプレートを実装しようとしています。問題は、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 から取得されます。