Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# XamDataGrid中的单元格随机更改背景颜色_C#_Xamdatagrid - Fatal编程技术网

C# XamDataGrid中的单元格随机更改背景颜色

C# XamDataGrid中的单元格随机更改背景颜色,c#,xamdatagrid,C#,Xamdatagrid,我有一个XamDataGrid,如果用户更改了单元格的值,我可以在其中更改单元格的背景色,如下所示: var result = touchpad.ShowDialog(); if (result.HasValue && result.Value) { if (valueHasChanged) { var presenter = CellValuePresenter.FromCell(activeCell); presente

我有一个XamDataGrid,如果用户更改了单元格的值,我可以在其中更改单元格的背景色,如下所示:

var result = touchpad.ShowDialog();
if (result.HasValue && result.Value)
{
     if (valueHasChanged)
     {
         var presenter = CellValuePresenter.FromCell(activeCell);
         presenter.Background = _changedCellBackgroundBrush;
     }
}
现在,这项工作和背景的细胞已经改变得到的颜色,我希望他们有。但是,如果我在表格中滚动,有时会发生随机的其他单元格也将其背景颜色更改为我的自定义颜色,或者使用我的颜色的单元格将其背景颜色更改回默认颜色

虽然上面的代码从未被调用,但我通过设置断点进行了检查。上面几行是我程序中唯一设置自定义背景色的地方


这是刷新问题吗?滚动时是否需要刷新网格?

滚动时,在其他行上随机选中行选择器复选框时,我遇到了相同的问题。这是单元虚拟化的一个问题,因为在实际滚动到视图中之前并没有创建所有行,并且单元被回收,从而导致您的背景被用于未编辑的单元

我通过添加RecordContainerGenerationMode元素修复了它:

<igDP:XamDataGrid Name="SummaryDataGrid" DataSource="{Binding Summaries}" RecordContainerGenerationMode="LazyLoad" GroupByAreaLocation="None">