我正在尝试为数据网格实现一个单元格模板。问题是,当我尝试在datagridview中绑定到Object时,我没有得到我期望的值。
这就是数据网格没有样式的样子:
非常简单,但是当我尝试使用带触发器的单元格模板来设置样式时,这就是我得到的内容(上面有DAL.Task的每个单元格应该包含一个橙色圆圈):
这是我用来设置网格样式的xaml:
<DataTemplate x:Key="MiddleDataGridCellTemplate"> <Grid> <Image Name="CenterImage" HorizontalAlignment="Center" VerticalAlignment="Center"/> </Grid> <DataTemplate.Triggers> <DataTrigger Binding="{Binding Row.ItemArray/TaskStatusName}" Value="In Progress"> <Setter TargetName="CenterImage" Property="Source" Value="/besoControlLibrary;component/Resources/Spreadsheet_CheckedOut.png" /> </DataTrigger> </DataTemplate.Triggers> </DataTemplate>
我猜测“{Binding Row.ItemArray / TaskStatusName}”导致问题,在datagridview中提取DAL.Task的TaskStatusName属性的正确方法是什么?
我发现空白单元格的值是DBNull,如果这有帮助的话。
此外,这些值来自DataTable,它是DataGrid的上下文。
答案 0 :(得分:1)
DataContext应该已经是您正在显示的对象,因此您应该能够绑定到您想要的任何属性:
{Binding TaskStatusName}
运行应用时,您可以通过查看输出窗口获取更多信息。这里还有一个DataGridTemplateColumn的例子,它可能是你想模仿的:
答案 1 :(得分:0)