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
}