¿Cómo puedo vincular una propiedad de modelo de vista a la propiedad ListBox.SelectedItem?MVVM: ¿Enlazar con ListBox.SelectedItem?
He creado una demostración de MVVM simple para tratar de resolver esto. Mi modelo de vista tiene las siguientes propiedades:
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");
}
}
quiero obligar a la propiedad SelectedItem para el elemento seleccionado en el cuadro de lista. Aquí está el XAML para el cuadro de lista:
<ListBox ItemTemplate="{StaticResource MasterTemplate}"
ItemsSource="{Binding Path=DisneyCharacters}"
SelectedItem="{Binding Path=Selectedtem, Mode=TwoWay}"
HorizontalAlignment="Stretch" />
Aquí está mi problema: La propiedad SelectedItem vista del modelo no se actualiza cuando cambie la selección en el cuadro de lista.
Hice una prueba en la que temporalmente reemplacé el modelo de vista de la propiedad SelectedIdex con una propiedad SelectedIndex, y lo vinculé a la propiedad ListBox.SelectedIndex. Esa propiedad se actualizó correctamente, solo es la propiedad SelectedItem que no puedo ponerme a trabajar.
Entonces, ¿cómo arreglo el enlace SelectedItem? Gracias por tu ayuda.
Un buen ejemplo de cómo usar un cuadro de lista en MVVM. Gracias – MrPurpleStreak