Ligação SelectedItem vs SelectedIndex - Quando devo escolher um sobre o outro?
Digamos que você tenha uma coleção observável do tipo de objeto Foo e tenha um ListView personalizado que o usuário selecionará.
Seu objeto de dados vinculado:
// property with getter / setter / INotifyPropertyChanged
ObservableCollection<Foo> MyCollection;
No XAML:
<ListView ItemsSource={Binding MyCollection} />
É mais apropriado vincular ao SelectedIndex em XAML e criar o seguinte no seu objeto de dados:
int SelectedIndex { get; set; } // also raising property changed notifications
Foo SelectedObject
{
get { return MyCollection[SelectedIndex]; }
}
Ou, para criar isso e vincular ao SelectedItem em XAML:
Foo SelectedObject { get; set; } // also raising property changed notifications
E porque?