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); // Уведомляем, что состояние свойства изменилось
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть класс PersonVm, который представляет информацию о человеке:
Подскажите пожалуйста, как сделать чтобы при нажатии на Button один раз TextBox включился и второй раз нажать на этот же Button TextBox должен выключитсяСпасибо