private void SelectedItemsOnCollectionChanged(object sender,
NotifyCollectionChangedEventArgs args)
{
if (BindableSelectedItems == null)
return;
if (args.Action == NotifyCollectionChangedAction.Reset)
{
if (SelectedItems.Count > 0)
SelectedItems.Clear();
return;
}
if (args.OldItems != null)
foreach (var item in args.OldItems)
{
if (BindableSelectedItems.Contains(item))
BindableSelectedItems.Remove(item);
}
if (args.NewItems != null)
foreach (var item in args.NewItems)
{
if (!BindableSelectedItems.Contains(item))
{
var index = SelectedItems.IndexOf(item);
BindableSelectedItems.Insert(index, item);
}
}
}