Esempio n. 1
0
        public static FileSaveResult Show(FileSaveParameter parameter)
        {
            //メッセージボックスの結果
            var saveResult = new FileSaveResult();

            //イベントを発行する
            Instance.ShowMessageBox?.Invoke(
                Instance,
                new DialogMessenger.EventArgs()
            {
                SaveParameter = parameter,

                //コールバックで結果を受け取る
                NotifySaveResult = result =>
                {
                    saveResult = result;
                }
            });

            return(saveResult);
        }
Esempio n. 2
0
        /// <summary>
        /// ファイル保存ダイアログ表示
        /// </summary>
        /// <param name="parameter"></param>
        /// <returns></returns>
        protected override FileSaveResult Show(FileSaveParameter parameter)
        {
            var dialog = new SaveFileDialog();

            dialog.Title            = parameter.Title;
            dialog.Filter           = parameter.Filter;
            dialog.FileName         = parameter.FileName;
            dialog.InitialDirectory = parameter.InitialDirectory;
            var result = new FileSaveResult();

            if (dialog.ShowDialog() == true)
            {
                result.Result   = true;
                result.FilePath = dialog.FileName;
            }
            else
            {
                result.Result = false;
            }
            return(result);
        }
Esempio n. 3
0
            /// <summary>
            /// アクションの実態
            /// </summary>
            /// <param name="parameter"></param>
            protected override void Invoke(object parameter)
            {
                //イベント引数の種別を検査
                var messageBoxArgs = parameter as DialogMessenger.EventArgs;

                if (messageBoxArgs == null)
                {
                    return;
                }

                //メッセージボックスの表示結果を取得
                if (messageBoxArgs.Parameter != null)
                {
                    DialogResult result = Show(messageBoxArgs.Parameter);
                    //コールバックで結果を通知
                    messageBoxArgs.NotifyResult?.Invoke(result);
                }
                else if (messageBoxArgs.SaveParameter != null)
                {
                    FileSaveResult saveResult = Show(messageBoxArgs.SaveParameter);
                    //コールバックで結果を通知
                    messageBoxArgs.NotifySaveResult?.Invoke(saveResult);
                }
                else if (messageBoxArgs.OpenParameter != null)
                {
                    FileOpenResult openResult = Show(messageBoxArgs.OpenParameter);
                    //コールバックで結果を通知
                    messageBoxArgs.NotifyOpenResult?.Invoke(openResult);
                }
                else if (messageBoxArgs.HimmeiSearchParameter != null)
                {
                    HimmeiSearchResult openResult = Show(messageBoxArgs.HimmeiSearchParameter);
                    //コールバックで結果を通知
                    messageBoxArgs.NotifyHimmeiSearchResult?.Invoke(openResult);
                }
            }