ComboBox привязан при определенной коллекции данных, которая заполняется полученными из интернета данными после запуска программы. Нужно что бы в ComboBoxе сразу после загрузки данных в коллекцию был выбранным первый элемент коллекции. Напрашивается очевидное решение - после загрузки данных в коллекцию присвоить свойству SelectedIndex значение 0, но в таком случае элемент становится выбранным только после того как пользователь раскрыл и закрыл выпадающий список ComboBoxa. Как сделать так что бы в этом элементе выбранным сразу отображался первый элемент коллекции?
Например так:
XAML
<ComboBox ItemsSource="{Binding MyCollection}" SelectedItem="{Binding SelectedItem}" />
ViewModel:
// Идем по полученным данным.
foreach (var item in data)
{
MyCollection.Add(item); // добавляем данные в коллекцию.
}
SelectedItem = MyCollection.FirstOrDefault(); // выставляем в качестве выбранного первый элемент
Само свойство SelectedItem при этом должно быть INPC, т.е. должно уметь уведомлять представление об изменении своего состояния.
private MyType _selectedItem;
public MyType SelectedItem
{
get
{
return _selectedItem;
}
set
{
_selectedItem = value;
RaisePropertyChanged(() => SelectedItem); // Уведомляем, что состояние свойства изменилось
}
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости