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;
}