INavigationAwareコードを使用して問題が発生しています。私は3ページあります。たとえば、私はそれをpageA、pageBおよびpageCと命名した。ページAは、リストビューであると私は、私はOnNavigatedToを使用してパラメータを取得するページBでOnItemSelectedINavigationAwareの[戻る]ボタンを使用して前のページにパラメータを渡す方法
ページAビューモデル
public void OnItemSelected(Complaint item)
{
if (item != null)
{
var param = new NavigationParameters();
param.Add("id", item.Id);
mNavigationService.NavigateAsync("pageB", param);
}
}
を使用してページBにパラメータを渡します。
ページBビューモデル
public async void OnNavigatedTo(NavigationParameters parameters)
{
var id = parameters["id"];
Title = string.Format("{0}: {1}", Strings.ComplaintDetail_Title, id);
await getComplaintDetail(Convert.ToInt32(id));
}
ページBから、私は同じように使用してpageCにパラメータを送信します。しかし、今、私はパラメータをpageBに戻すことに問題があります。左上のINavigation Backボタンを使用しているので、パラメータをpageBに戻す方法はわかりません。問題は、選択と更新の目的で、パラメータ(主キー)をすべてのページに渡す必要があることです。私を助けてください。私はどのようにOnNavigatedFromを使用してパラメータを渡すか分からない。
PageCビューモデル
public void OnNavigatedFrom(NavigationParameters parameters)
{
}
は、事前にありがとうございます。
サービスの利用を検討しましたか?とにかに、現在のアイテムをすべてのページで知っていなければならない場合は、「グローバルに」利用できるようにすることは、常にそれを渡すことの代わりになる可能性があります。 – Haukinger
グローバルにするには?申し訳ありません、私はまったく初心者です。 – nuyuljana
あなたのすべてのビューモデルで利用可能なサービスを通じて – Haukinger