private void OnBoundSelectionChanged(
object sender, NotifyCollectionChangedEventArgs e)
{
if (e.Action ==
NotifyCollectionChangedAction.Reset)
{
_listView.SelectedItems.Clear();
foreach (var item in _boundSelection)
{
if (!_listView.SelectedItems.Contains(item))
{
_listView.SelectedItems.Add(item);
}
}
return;
}
if (e.OldItems != null)
{
foreach (var item in e.OldItems)
{
if (_listView.SelectedItems.Contains(item))
{
_listView.SelectedItems.Remove(item);
}
}
}
if (e.NewItems != null)
{
foreach (var item in e.NewItems)
{
if (!_listView.SelectedItems.Contains(item))
{
_listView.SelectedItems.Add(item);
}
}
}
}