Привязка отображаемого свойства элемента коллекции к Picker
Есть список Picker, к которому я привязал данные:
<Picker x:Name="pickerName" ItemsSource="{Binding Languages}" />
Languages это List<LanguageModel>, где LanguageModel:
public class LanguageModel
{
public string? translationLanguageCode = null!;
public string code { get; set; } = null!;
public string translatedName { get; set; } = null!;
public bool? nativeLanguage { get; set; }
public bool? learningLanguage { get; set; }
}
В моем случае Languages состоит из 18 объектов.
Вопрос в том, как сделать так, что бы текст выпадающего списка был привязан к ranslatedName, т.е. в выпадающем списке я видел названия языков? Да, я могу сделать список только из translatedName, но и code мне так же нужен, т.к. когда пользователь выбирает язык, то я запоминаю поле code
Заранее спасибо
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
Проще некуда.
<Picker x:Name="pickerName"
ItemsSource="{Binding Languages}"
ItemDisplayBinding="{Binding translatedName}"/>
Так же привяжите SelectedItem, создайте новое свойство, там где у вас Languages. В нём и будет нужный code.
<Picker x:Name="pickerName"
ItemsSource="{Binding Languages}"
SelectedItem="{Binding SelectedLanguage}"
ItemDisplayBinding="{Binding translatedName}"/>