Pickerを一つ持つシンプルな画面があります。このPickerのItemsSourceを、非同期メソッドから更新したいです。理由は、サーバの戻り値を項目に使う必要があるからです。

以下のような初期化コードを使っていますが、このコードではなにも表示されません。

```

    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
    
            App.Current.Dispatcher.Dispatch(async() =>
            {
                await InitAsync();
            });
        }
    
        private async Task InitAsync()
        {
            await Task.Delay(1000);
            picker.ItemsSource = Enumerable.Range(0, 10).Select(r => $"Item{r}").ToArray();
        }
    }
    
```

ItemsSourceの初期化を、InitializeComponentの直下に配置すると、期待したものが表示されます。私はどこか間違えていますか？
非同期メソッドの戻り値を使ってコレクションを初期化する最適な方法はなんですか？

VisualStudioの17.3.0 Preview 6.0 を使っています。  
よろしくお願いします。
CC BY-SA 4.0
2022-09-07T09:06:56.210
90984
2022-09-07T09:06:56.210
54170
question
xaml xamarin.forms
MAUIのPickerのItemsSourceを非同期メソッドから更新したい