Может быть, когда вы заполняете свою сетку
DataGrid1.ItemsSource = await GetDataAsync();
, вы можете сделать что-то вроде
var gridView = await GetDataAsync();
var collectionView = new ListCollectionView(gridView) as ICollectionView;
collectionView.Filter = (r) => gridView.where(t => t.Name == r.Name && t != r).Count() >= 2;
DataGrid1.ItemsSource = collectionView;
Это всего лишь идея. Есть еще проблемы с этим:
- Это выражение LinQ:
gridView.where(t => t.Name == r.Name && t == r)
явно неверно, но оно дает вам представление о том, что вы должны делать. Найдите правильные типы и правильный способ проверки имен. - Вы все равно должны делать это каждый раз, когда обновляете свой DataView.
Это должно отображать только те строки, которые являются подарок два раза или больше.
Надеюсь, я был полезен