Beispiel #1
0
        private AskSaveResult AskSaving()
        {
            MessageBoxResult res = ShowDialogManager.ShowMessageBox("そのまえに、データを保存しますか?(「いいえ」を押すと変更内容は破棄されます)", "確認", MessageBoxButton.YesNoCancel, MessageBoxImage.Question);

            if (res == MessageBoxResult.Cancel)
            {
                return(AskSaveResult.Cancel);
            }

            if (res == MessageBoxResult.No)
            {
                return(AskSaveResult.CanProcess);
            }

            // 一旦フォーカスを外します。
            var prevFocus = FocusManager.GetFocusedElement(_view);

            FocusManager.SetFocusedElement(_view, _view);

            // 溜まってるイベントは全部処理させる
            WPFUtil.DoEvents();


            _writersBattleFieldViewModel.SetTextToModelsComposite();

            if (_fileService.SaveFile() == false)
            {
                return(AskSaving());
            }

            return(AskSaveResult.CanProcess);
        }
Beispiel #2
0
        private void OnTrySave(object sender, TrySaveOccuredEventArgs e)
        {
            // 一旦フォーカスを外します。
            var prevFocus = FocusManager.GetFocusedElement(_view);

            FocusManager.SetFocusedElement(_view, _view);

            // 溜まってるイベントは全部処理させる
            WPFUtil.DoEvents();

            _writersBattleFieldViewModel.SetTextToModelsComposite();
            if (e.SaveKind == SaveKind.SaveWithName)
            {
                _fileService.SaveFileWithName();
            }
            else
            {
                _fileService.SaveFile();
            }

            FocusManager.SetFocusedElement(_view, prevFocus);
        }