private void TransferItemsSource(IList source)
{
if (source == null || Items == null)
{
return;
}
for (int i = Items.Count - 1; i >= 0; i--)
{
if (source.Contains(Items[i]) == false)
{
Items.RemoveAt(i);
}
}
for (int i = 0; i < source.Count; i++)
{
int tmpTargetIndex = Items.IndexOf(source[i]);
if (source[i] != null && tmpTargetIndex != i)
{
if (tmpTargetIndex != -1)
{
Items.RemoveAt(Items.IndexOf(source[i]));
}
Items.Insert(i, source[i]);
}
}
}