我需要根据 BeforeCheckNode 事件中节点的 ForeColor 将 CanCheck 设置为 true 或 false。如何在 BeforeCheckNode 事件中获取 e.Node 的前景色?
private void _tree_BeforeCheckNode(object sender, DevExpress.XtraTreeList.CheckNodeEventArgs e)
{
int index = _tree.GetNodeIndex(e.Node);
RowInfo ri = _tree.ViewInfo.RowsInfo.Rows[index] as RowInfo;
CellInfo cell = (CellInfo)ri.Cells[0];
if (cell.PaintAppearance.ForeColor == Color.LightGray)
e.CanCheck = false;
}
但是这里的索引是相对于父级的。因此,如果我有多个带有子节点的父节点,则 RowInfo 会出错。如果我使用可见索引,它对 RowInfo 不起作用,因为它超出了范围。