You can handle the SelectionChanged event and set a selection if the SelectedItem evaluates to null. To reselect an item that has been unselected you can keep track of the last selected item in a private field, which should always be updated in the SelectionChanged event.