我正在尝试根据特定条件为DataGrid行分配不同的工具提示。
private void DataGrid_LoadingRow(object sender, DataGridRowEventArgs e)
{
DataGridRow row = e.Row;
if (row["AssemblySummary"].ToString.Contains("Class"))
{
row.ToolTip = "Class definition...";
}
}
我收到“无法将索引应用于'System.Windows.Controls.DataGridRow'类型的表达式。”如果我有一行为什么我不能访问它的项目?如何访问cell [i]?
编辑制作:我很抱歉,我需要访问给定行中的第一个单元格,就像现在一样。我仍然有同样的错误。谢谢
答案 0 :(得分:2)
试试这个并告诉我们它是否有效:
DataGridRow row = e.Row;
DataRowView rView = row.Item as DataRowView
if(rView != null && rView.Item["AssemblySummary"].ToString().Contains("Class"))
row.ToolTip = "Class definition...";
如果没有,则可能是已加载可视行,但数据尚未绑定。
答案 1 :(得分:0)
您可以使用DataContext属性获取行的数据。
试试此链接http://techiethings.blogspot.com/2010/05/get-wpf-datagrid-row-and-cell.html