DataGridView の RowPrePaint イベントを使用して、条件付きで行の BackColor を設定しようとしました。アプリケーションを起動すると、行は正しくレンダリングされましたが、行が 2 回レンダリングされるという問題がありました。
Windows フォームを使用してアプリケーションを作成しています。
private void grd_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
{
var row = grd.Rows[e.RowIndex];
if (row.DataBoundItem is ViewModel model && !model.Materialized)
{
row.DefaultCellStyle.BackColor = Color.Orange;
}
}