有一种使用数据绑定在选取器中使用键值对的方法。
首先,您必须在表单的视图模型中定义字典,并定义一个返回字典键值对列表的属性。还需要绑定到当前选定的项目:
class MyViewModel
{
...
private Dictionary<string, string> PickerItems =
new Dictionary<string, string>() { {"AF", "Afghanistan"}, {"AL", "Albania" } };
public List<KeyValuePair<string, string>> PickerItemList
{
get => PickerItems.ToList();
}
private KeyValuePair<string, string> _selectedItem;
public KeyValuePair<string, string> SelectedItem
{
get => _selectedItem;
set => _selectedItem = value;
}
...
}
其次,您必须在 Pickers 定义中设置 Pickers ItemsSource、ItemDisplayBinding 和 SelectedItem Bindings:
<Picker
ItemDisplayBinding="{Binding Value}"
ItemsSource="{Binding PickerItemList}"
SelectedItem="{Binding SelectedItem}" />
鉴于此,您可以通过以下方式获取视图模型中所选项目的键
SelectedItem.Key
进一步阅读:https://developer.xamarin.com/guides/xamarin-forms/user-interface/picker/populate-itemssource/#Populated_a_Picker_with_Data_Using_Data_Binding https://developer.xamarin.com/guides/xamarin-forms/user-interface/picker/populating-itemssource/#Populating_a_Picker_with_Data_Using_Data_Binding