На экране есть средство выбора, которое имеет начальное значение, а также возможность изменить элемент в средстве выбора.
Пока мой selectedItem установлен, я не вижу, что в средстве выбора на экране для средства выбора не установлено значение, и только когда я выбираю значение, оно действительно отображает что-то в средстве выбора наэкран (в это время SelectedItem также обновляется с новым значением).
Мой xaml:
<Picker
ItemsSource="{Binding FeedbackTypes}"
SelectedItem="{Binding SelectedFeedbackType, Mode=TwoWay}"
ItemDisplayBinding="{Binding Name}">
</Picker>
Мои свойства ViewModel:
private ValueName _selectedFeedbackType;
public ValueName SelectedFeedbackType
{
get { return _selectedFeedbackType; }
set
{
_selectedFeedbackType = value;
OnPropertyChanged(nameof(SelectedFeedbackType));
}
}
public ObservableCollection<ValueName> FeedbackTypes
{
get
{
var feedbackTypes = new ObservableCollection<ValueName>();
foreach (FeedbackType feedback in
Enum.GetValues(typeof(FeedbackType)))
{
feedbackTypes.Add(new ValueName
{
Value = feedback,
Name = feedback.ToName()
});
}
return feedbackTypes;
}
}
И в моем конструкторе ViewModel я получил:
SelectedFeedbackType = new ValueName { Value = feedbackType, Name = feedbackType.ToName() };
Работающий конструктор правильно устанавливает SelectedFeedbackType, и если я не внесу никаких изменений в средство выбора, то это значение, которое я получу при отправке, однако по умолчанию я не вижу это значение в средстве выбора.Сборщик пуст, пока выбор не сделан.
Я также пытался привязать значение SelectedIndex к SelectedFeedbackType, однако, что не будет отображаться первоначально выбранное значение ни в средстве выбора.