ビューモデルで Init からの非同期呼び出しがいくつかあります。問題は、非同期呼び出しが OnCreate の前に返されることがあり、UI のプロパティが更新されないことです。非同期データを初期化する必要がある場合、この場合に適切な非同期/待機モデルはありますか?
擬似コード:
// ViewModel
public async Task Init(string id)
{
Url = await LoadUrlAsync(id);
}
// View
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.ui_xml);
ViewModel.PropertyChanged += ViewModel_PropertyChanged;
}
void ViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
_webView.LoadUrl(ViewModel.Url);
}