public SideEffectPageViewModel(INavigationService navi) { // 副作用項目マスタを作成する。 ISideEffectItemMaster sideEffectMst = SideEffectItemMasterDummy.Create(); // テストボタン。 TestCommand = new Command(x => { // 副作用入力画面を表示する。 BasicSamplePageViewModel.Request.NavigateAsync(navi, sideEffectMst, _record); }); }
/// <summary> /// 副作用入力画面に遷移する。 /// </summary> /// <param name="navi">ナビゲーションサービス</param> /// <param name="master">画面遷移パラメータ</param> /// <param name="record">副作用入力画面に表示する観察記録</param> public static async void NavigateAsync(INavigationService navi , ISideEffectItemMaster master, ObservationRecord record) { // パラメータチェック。 if (master == null || record == null) { throw new ArgumentException(); } // 副作用入力画面に遷移する。 NavigationParameters param = new NavigationParameters { { KEY_MASTER, master }, { KEY_RECORD, record }, }; await navi.NavigateAsync("BasicSamplePage", param); }
/// <summary> /// 画面遷移パラメータから副作用マスタと観察記録を取得する。 /// </summary> /// <param name="parameters">画面遷移パラメータ</param> /// <param name="master">画面遷移パラメータ</param> /// <param name="record">作用入力画面に表示する観察記録</param> public static void GetParameter(INavigationParameters parameters, out ISideEffectItemMaster master, out ObservationRecord record) { master = parameters.GetValue <ISideEffectItemMaster>(KEY_MASTER); record = parameters.GetValue <ObservationRecord>(KEY_RECORD); }