Presently there is only one event SelectionChanged, which is raised whenever the SelectedItems collection changes. This is confusing as the event is raised twice when a user clicks an item - first for the item that is removed, then for the item that is added. The event should be renamed to something like SelectedItemsCollectionChanged and a new event SelectedItemChanged should be added.