使用 C# .NET 4.5、MS Visual Studio 2012、WPF。
嗨,刚刚让这段代码最终工作,它基本上通过行遍历 datgrid。
被警告他可能会冒犯那里的所有 WPF 向导!
public IEnumerable<System.Windows.Controls.DataGridRow> GetDataGridRow(System.Windows.Controls.DataGrid grid)
{
var itemsource = grid.ItemsSource as System.Collections.IEnumerable;
paretogrid.UpdateLayout();
if (null == itemsource) yield return null;
foreach (var item in itemsource)
{
var row = grid.ItemContainerGenerator.ContainerFromItem(item) as DataGridRow; // null?
if (null != row) yield return row;
}
}
private void ShowArrows()
{
var rows = GetDataGridRow(paretogrid); // fetching null?
foreach (DataGridRow r in rows)
{
DataRowView rv = (DataRowView)r.Item;
}
}
如您所见,我遍历了行。现在我想要做的是将列索引 2 处的单元格值与每个“行”上的列索引 4 进行比较,然后如果 true 或 false 相应地更新列 5。我可以遍历列,让我每个单元格都可以,但不是我所追求的,例如
foreach (DataGridColumn column in paretogrid.Columns)
是这样的吗:
paretogrid.Columns[2].GetCellContent(something here) as textblock;