2つのObservableCollectionがあります.1つは現在の従業員リストを持ち、もう1つは従業員リストを含んでいます。新しいリストに古いリストにない従業員が含まれている場合は、古いリストに追加したいと思います。ObservableCollectionsの2つのアイテムの比較
新しいリストに古いリストの従業員が含まれていない場合は、それを古いリストから削除します。 (私は意味があることを望む)。
ここに私が試したことがあります。
foreach (var employee in _currentUsers.ToList())
{
if (!newUsers.Contains(employee))
{
Dispatcher.Invoke(() =>
{
_currentUsers.Remove(employee);
CurrentUsageDataGrid.Items.Refresh();
});
}
}
foreach (var employee in newUsers)
{
if (!_currentUsers.Contains(employee))
{
Dispatcher.Invoke(() =>
{
_currentUsers.Add(employee);
CurrentUsageDataGrid.Items.Refresh();
});
}
}
これは、私はリストがDispatcher.Invoke()
はまだ発射され変更されていないことを知っている場合でも、として機能していません。 Contains
がどのように動作しているのかと誤解していますか?このようなチェックを行う「より良い」方法がありますか?