Как установить выбранный элемент в списке после привязки с помощью MVVM Light? - PullRequest
1 голос
/ 08 июля 2010

Я использую MVVM Light в приложении для Windows Phone.Я хотел бы установить выбранный элемент в списке после его привязки к данным.

Я подумал, что лучший способ сделать это - установить eventToCommand в списке для события Loaded и передать элемент для установки выбранного индекса, но я не уверен, как передать элемент списка вRelayCommand.

1 Ответ

7 голосов
/ 08 июля 2010

Подумайте об этом с точки зрения вашей модели представления, а не с точки зрения элементов управления в вашем представлении ...

Свяжите свойство SelectedItem списка с новым свойством MySelectedItem в вашей модели представления, и тогда вы сможете сделатьвсе это в viewmodel без каких-либо команд.

Например, вы можете перебрать коллекцию элементов в вашей viewmodel, которые привязаны к списку ItemsSource вашего списка, а затем назначить один из них вашему новому свойству MySelectedItem иавтоматически он будет отображаться как выбранный в пользовательском интерфейсе.

В качестве альтернативы вы также можете связать свойство IsSelected EVERY ListBoxItem с новым свойством MyIsSelected для каждого объекта в коллекции.Тот же самый конечный результат ... используйте тот подход, который подходит вам в зависимости от ситуации и / или вкуса ...

...