バインドされたプロパティが変更されたときに非同期データを読み込む最良の方法がわかりません。プロパティ設定ツールから非同期データを読み込む
私はListViewを持っており、アイテムが選択されたときに詳細なデータで新しいコンテンツを表示します。詳細項目は、非同期メソッドから取得されます。
データ方法:
private async void ShowDetailAsync()
{
if (SelectedItem?.Id != null)
{
detailViewModel.Item = await storage.GetDetailItemAsync(SelectedItem.Id);
}
else
{
detailViewModel.Item = null;
}
}
のViewModelプロパティ:
public GearItemListViewModel SelectedItem
{
get => selectedItem;
set { this.SetValue(ref selectedItem, value); ShowDetailAsync(); }
}
今ではファイア・アンド・フォーゲット非同期メソッドとして動作しますが、どのように危険なしにそれをロードするための最良の方法だろうユーザーがリストビュー内のレコードをすばやくブラウズすると、非同期化されたビューとデータが表示されます(最初のクリックでは、レコードの読み込みに時間がかかります)。
プロパティーセッターで非同期呼び出しなしで詳細項目を切り替えてロードする方法がありますか?
Stephen Clearyのブログ(https://blog.stephencleary.com/2013/01/async-oop-3-properties.html)と彼の[雑誌で投稿](https: /msdn.microsoft.com/en-us/magazine/dn605875.aspx)。 – Romasz