void SmartSelectedItems_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
SelectedItems.CollectionChanged -= SelectedItems_CollectionChanged;
for (int i = 0; i < Clvw.SmartSelectedItems.Count; i++)
{
if ((SelectedItems as IList).Contains(Clvw.SmartSelectedItems[i]) == false)
{
(SelectedItems as IList).Add(Clvw.SmartSelectedItems[i]);
}
}
for (int i = (SelectedItems as IList).Count - 1; i >= 0; i--)
{
if (Clvw.SmartSelectedItems.Contains((SelectedItems as IList)[i]) == false)
{
(SelectedItems as IList).RemoveAt(i);
}
}
SortSelectedItems();
SelectedItems.CollectionChanged += SelectedItems_CollectionChanged;
}