using Microsoft.Win32; namespace SheetMe.Designer.Services; /// 파일 대화상자 래퍼 — ViewModel 에서 View 기술 의존을 격리. public sealed class DialogService { #region Methods /// 열기 대화상자 — 취소 시 null public string? ShowOpenFile(string filter, string title) { var dialog = new OpenFileDialog { Filter = filter, Title = title, }; return dialog.ShowDialog() == true ? dialog.FileName : null; } /// 저장 대화상자 — 취소 시 null public string? ShowSaveFile(string filter, string title, string defaultFileName) { var dialog = new SaveFileDialog { Filter = filter, Title = title, FileName = defaultFileName, }; return dialog.ShowDialog() == true ? dialog.FileName : null; } #endregion }