Привязка SelectedItem против SelectedIndex - Когда я должен выбрать один над другим?

Допустим, у вас есть наблюдаемая коллекция объектов типа Foo, и у вас есть собственный ListView, из которого пользователь будет выбирать.

Ваш связанный объект данных:

// property with getter / setter / INotifyPropertyChanged
ObservableCollection<Foo> MyCollection; 

В XAML:

<ListView ItemsSource={Binding MyCollection} />

Более уместно связать SelectedIndex в XAML и создать следующее в вашем объекте данных:

int SelectedIndex { get; set; } // also raising property changed notifications
Foo SelectedObject
{
   get { return MyCollection[SelectedIndex]; }
}

Или создать это и связать с SelectedItem в XAML:

Foo SelectedObject { get; set; } // also raising property changed notifications

И почему?

Ответы на вопрос(4)

Ваш ответ на вопрос