[WPF]コンボボックスのリストを変更した時にselectedItemを見失うのを防ぐ

c#コンボボックスのリストの中身を変更(ソートとか)した時にselectedItemを見失うのを防ぐ。Tagプロパティを一時保存に使用するのであまり美しくない?
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    var combo = (ComboBox)sender;
    object item = combo.SelectedItem;
    if (item == null)
    {
         combo.SelectedItem = combo.Tag;
    }
    else
    {
         combo.Tag = combo.SelectedItem;
    }
}