为选择器中的项目添加键值

2024-05-03

我正在使用 XAMARIN 选择器来选择一个国家/地区。这些国家/地区在选择器中进行了硬编码。有没有一种方法可以通过键值识别每个国家/地区名称。我使用 SAPUI5 以类似的方式完成了此操作。

<core:Item key="AF" text="Afghanistan  " />
<core:Item key="AL" text="Albania  " />
<core:Item key="DZ" text="Algeria  " />
<core:Item key="VI" text="Amer.Virgin Is. " />

同样,有没有办法让我在 XAMARIN 表单选择器中为每个国家/地区添加键值?


有一种使用数据绑定在选取器中使用键值对的方法。

首先,您必须在表单的视图模型中定义字典,并定义一个返回字典键值对列表的属性。还需要绑定到当前选定的项目:

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为选择器中的项目添加键值 的相关文章

随机推荐