MVVM: Liaison à la zone de liste.SelectedItem?

Comment puis-je lier un modèle de vue de la propriété de la zone de liste.Propriété SelectedItem?

J'ai créé un simple MVVM démo pour essayer de comprendre ça. Mon point de vue, le modèle a ces propriétés:

private ObservableCollection<DisneyCharacter> p_DisneyCharacters;
public ObservableCollection<DisneyCharacter> DisneyCharacters
{
    get { return p_DisneyCharacters; }

    set
    {
        p_DisneyCharacters = value;
        base.FirePropertyChangedEvent("DisneyCharacters");
    }
}

private DisneyCharacter p_SelectedItem;
public DisneyCharacter SelectedItem
{
    get { return p_SelectedItem; }

    set
    {
        p_SelectedItem = value;
        base.FirePropertyChangedEvent("SelectedItem");
    }
}

Je veux lier la propriété SelectedItem à l'élément sélectionné dans la liste déroulante. Voici le code XAML de la zone de liste:

<ListBox ItemTemplate="{StaticResource MasterTemplate}"
         ItemsSource="{Binding Path=DisneyCharacters}" 
         SelectedItem="{Binding Path=Selectedtem, Mode=TwoWay}" 
         HorizontalAlignment="Stretch" />

Voici mon problème: Le modèle de vue propriété SelectedItem n'est pas mis à jour quand j'ai changer la sélection dans la zone de liste.

J'ai fait un test où j'ai remplacé temporairement le modèle de vue propriété SelectedItem avec une propriété SelectedIndex, et j'ai lié qu'à la zone de liste.Propriété SelectedIndex. Cette propriété mise à jour sans problème, c'est juste la propriété SelectedItem que je n'arrive pas à travailler.

Alors, comment puis-je résoudre le SelectedItem de liaison? Merci pour votre aide.

  • Un bon exemple de comment utiliser une zone de liste dans MVVM. Merci