Exemple #1
0
        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);
 }