Enlace SelectedItem vs SelectedIndex: ¿cuándo debo elegir uno sobre el otro?
Digamos que tiene una colección observable de tipo de objeto Foo, y tiene un ListView personalizado que el usuario seleccionará.
Su objeto de datos enlazado:
// property with getter / setter / INotifyPropertyChanged
ObservableCollection<Foo> MyCollection;
En XAML:
<ListView ItemsSource={Binding MyCollection} />
¿Es más apropiado enlazar el SelectedIndex en XAML y crear lo siguiente en su objeto de datos:
int SelectedIndex { get; set; } // also raising property changed notifications
Foo SelectedObject
{
get { return MyCollection[SelectedIndex]; }
}
O para crear esto y vincularlo al elemento seleccionado en XAML:
Foo SelectedObject { get; set; } // also raising property changed notifications
¿Y por qué?