MAUIでiOSアプリの開発!

MAUIを使ったiOSアプリの開発についての技術的なメモです。

Pickerコントロールでキーと文字のペアを使用する

Pickerコントロールで文字を選択したときに、プログラムで取得する値を文字ではなくキー値で取得した場合があります。 

以下のようにすれば選択した文字に対応するキー値を取得できます。

  

 Xamlファイル

<Picker 
  ・・・
    ItemsSource="{Binding ListItemSource}"
    SelectedItem="{Binding SelectListItem}"
    ItemDisplayBinding="{Binding Name}"
/>
※ItemDisplayBindingにて、表示する文字が格納されている変数名を指定している

ViewModelファイル

public class XxxViewModel
{
    private ObservableCollection listItemSource = new ObservableCollection();

    public ListDto SelectListItem { get; set; }

    public ObservableCollection ListItemSource
    {
        get => this.listItemSource;
        private set => this.SetProperty(ref this.listItemSource, value);
    }

    ・・・

    // データを登録する場合
    this.listItemSource.Add(new ListDto(1, "test a"));
    this.listItemSource.Add(new ListDto(2, "test b"));

    // データを参照する場合
    int id = this.SelectDomainItem2.Id;
}

 

 

新規クラス作成

public class ListDto
{
    public ListDto(int id, string name)
    {
        Id = id;
        Name = name;
    }
    public int Id { get; set; }
    public string Name { get; set; }
}