0

我正在尝试为数据网格实现单元格模板。问题是,当我尝试绑定到 datagridview 中的对象时,我没有得到我期望的值。

 

这是没有样式的数据网格的样子:

数据网格平原

 

很简单,但是当我尝试使用带有触发器的单元格模板对其进行样式设置时,这就是我得到的(上面有 DAL.Task 的每个单元格都应该包含一个橙色圆圈):

数据网格样式

 

这是我用来设置网格样式的 xaml: 

 

<Da​​taTemplate x:Key="MiddleDataGridCellTemplate">
 <网格>
  <图像名称="中心图像"
   水平对齐=“中心”
   VerticalAlignment="居中"/>     
 </网格>
 <数据模板.触发器>
  <Da​​taTrigger 绑定="{绑定行.ItemArray/TaskStatusName}"
   值="进行中">
   <Setter TargetName="CenterImage"
    属性="来源"
    Value="/besoControlLibrary;component/Resources/Spreadsheet_CheckedOut.png" />
  </DataTrigger>
 </DataTemplate.Triggers>
</数据模板>

 

我猜是“{Binding Row.ItemArray/TaskStatusName}”导致了问题,在datagridview中提取DAL.Task的TaskStatusName属性的正确方法是什么?

我发现空白单元格的值是 DBNull 如果这有帮助的话。

 

此外,这些值来自作为 DataGrid 上下文的 DataTable。



4

2 回答 2

1

DataContext 应该已经是您正在显示的对象,因此您应该能够绑定到您想要的任何属性:

{Binding TaskStatusName}

在运行应用程序时,您可以通过查看输出窗口来获取更多信息。这里还有一个 DataGridTemplateColumn 的示例,它可能是您想要模仿的:

http://msdn.microsoft.com/en-us/library/system.windows.controls.datagridtemplatecolumn%28v=vs.95%29.aspx

于 2011-05-09T19:52:37.437 回答
0

我解决了这个问题,解决方案在这里:

http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/7fe562f4-739c-45df-bea3-557abd80c63d

于 2011-05-24T18:01:30.697 回答