ページ遷移はちょっとめんどうくさいし覚えれなさそうなのでメモ。MainPage->DetailPageへの遷移とする。
AppShell.xaml.csへの記載
コンストラクタでRoutingへ登録
Routing.RegisterRoute(nameof(DetailPage), typeof(DetailPage));
MainPageのViewModelから引き渡す情報を準備して遷移
Modelにクラス(CustomModel)を準備して、それをDictionary<string, object>を使って渡す
Shell.Current.GotoAsync($"{nameof(DetailPage)}",
new Dictionary<string, object>
{
{"UserKey", arg}
});
DetailPageのViewModelで情報を受け取る
[QueryProperty(nameof(Arg), "UserKey")]
public partial class DetailViewModel : ObservableObject
{
[ObservableProperty]
CustomModel arg;
}
こうなってくると、自動コード生成のキャメルケースとかでちょっと混乱してくる。