ObservableCollection não atualiza o View

Estou apenas começando com o MVVM e encontrei um obstáculo que espero que alguém possa me ajudar. Estou tentando criar uma exibição simples com 2 caixas de listagem. Uma seleção da primeira caixa de listagem preencherá a segunda caixa de listagem. Eu tenho uma classe criada que armazena as informações que eu quero vincular.

MyObject Class (Observable Object é apenas uma classe base que implementa INotifyPopertyChanged)

public class MyObject : ObservableObject
{
    String _name = String.Empty;
    ObservableCollection<MyObject> _subcategories;

    public ObservableCollection<MyObject> SubCategories
    {
        get { return _subcategories; }

        set
        {
            _subcategories = value;
            RaisePropertyChanged("SubCategories");
        }
    }

    public String Name
    {
        get { return _name; }
        set
        {
            _name = value;
            RaisePropertyChanged("Name");
        }
    }


    public MyObject()
    {
        _subcategories = new ObservableCollection<EMSMenuItem>();
    }
}

No meu viewmodel, tenho duas ObservableCollections criadas

public ObservableCollection<EMSMenuItem> Level1MenuItems { get; set; }
public ObservableCollection<EMSMenuItem> Level2MenuItems { get; set; }

No meu construtor do ViewModel eu tenho:

this.Level1MenuItems = new ObservableCollection<EMSMenuItem>();
this.Level2MenuItems = new ObservableCollection<EMSMenuItem>();
this.Level1MenuItems = LoadEMSMenuItems("Sample.Xml");

Isso funciona bem para os itens de Nível 1 e eles são exibidos corretamente na Visualização. No entanto, tenho um comando que é chamado quando o usuário clica em um item na caixa de listagem, que possui o seguinte:

Level2MenuItems = ClickedItem.SubCategories;

Por algum motivo, isso não atualiza a interface do usuário da segunda caixa de listagem. Se eu colocar um ponto de interrupção nesse local, posso ver que o Level2MenuItems possui as informações corretas armazenadas. Se eu escrever um loop foreach e adicioná-lo individualmente à coleção Level2MenuItems, ele será exibido corretament

Também como teste, adicionei o seguinte ao construtor:

Level2MenuItems = Level1MenuItems[0].SubCategories;

E isso foi atualizado corretament

Então, por que o código funcionaria conforme o esperado no construtor ou durante o loop, mas não quando um usuário clica em um item na caixa de listage

questionAnswers(3)

yourAnswerToTheQuestion