Hi,
I use this behavior to manage multiple selection on radgridview (with selection mode = "extended" and with GridViewSelectColumn)
It works but when I try to initialize the selection with some items at the end of initialization I receive the OnSelectionChanged that remove all the elements selected but the first.
public class GridViewMultiSelect : Behavior<RadGridView>
{
	protected override void OnAttached()
	{
		base.OnAttached();
		AssociatedObject.DataContextChanged += OnDataContextChanged;
		AssociatedObject.SelectedItems.CollectionChanged += OnSelectedItemsChanged;
		AssociatedObject.SelectionChanging += OnSelectionChanged;
		AssociatedObject.Items.CollectionChanged += OnItemsChanged;
	}
	private void OnSelectionChanged(object? sender, SelectionChangingEventArgs e)
	{
		
	}
	private void OnItemsChanged(object? sender, NotifyCollectionChangedEventArgs e)
	{
	}
	private void Select(IEnumerable<NsMisuraViewWithType> misure)
	{
		foreach (var item in misure)
		{
			AssociatedObject.SelectedItems.Add(item);
		}
	}
	private void OnDataContextChanged(object? sender, DependencyPropertyChangedEventArgs e)
	{
		if (AssociatedObject.DataContext is LoadedMeasurmentsVM viewModel)
		{
			viewModel.SelectAction = Select;
			SetSelectMeasurements();
		}
	}
	private void SetSelectMeasurements()
	{
		if (AssociatedObject.DataContext is LoadedMeasurmentsVM viewModel)
		{
			foreach (var item in AssociatedObject.SelectedItems)
			{
				if (viewModel.SelectedMeasurements.All(m => m.Misura.Id != ((NsMisuraViewWithType)item).Misura.Id))
				{
					viewModel.SelectedMeasurements.Add((NsMisuraViewWithType)item);
				}
			}
		}
	}
	private void OnSelectedItemsChanged(object? sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
	{
		SetSelectMeasurements();
	}
	protected override void OnDetaching()
	{
		base.OnDetaching();
		AssociatedObject.DataContextChanged -= OnDataContextChanged;
		AssociatedObject.SelectedItems.CollectionChanged -= OnSelectedItemsChanged;
	}
}It seems that the property IsSynchronizedWithCurrentItem (default true)  is related to the issue, if I set it to false I don't get the remove call.
						