/// <summary> /// Moves the index of the by. /// </summary> /// <param name="index">The index.</param> /// <param name="newIndex">The new index.</param> public virtual void MoveByIndex(int index, int newIndex) { _items.MoveByIndex(index, newIndex); _keys.MoveByIndex(index, newIndex); if (ItemMove != null) { ItemMove(this, new KeyedCollectionMoveEventArgs(_items[newIndex], newIndex, index, _keys[newIndex])); } if (CollectionChanged != null) { CollectionChanged(this, new EventArgs()); } }