Skip to content

Save file dialog

Mattias Kindborg edited this page May 19, 2016 · 2 revisions

To show a save file dialog start by registering the view by decorating the XAML with the attached property DialogServiceViews.IsRegistered.

<UserControl
    x:Class="DemoApplication.Features.SaveFileDialog.Views.SaveFileTabContent"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:md="https://github.com/fantasticfiasco/mvvm-dialogs"
    md:DialogServiceViews.IsRegistered="True">
    
</UserControl>

In the view model, open the dialog by calling IDialogService.ShowSaveFileDialog.

public class SaveFileTabContentViewModel : INotifyPropertyChanged
{
    private readonly IDialogService dialogService;
  
    public SaveFileTabContentViewModel(IDialogService dialogService)
    {
        this.dialogService = dialogService;
    }
  
    private void SaveFile()
    {
        var settings = new SaveFileDialogSettings
        {
            Title = "This Is The Title",
            InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),
            Filter = "Text Documents (*.txt)|*.txt|All Files (*.*)|*.*",
            CheckFileExists = false
        };

        bool? success = dialogService.ShowSaveFileDialog(this, settings);
        if (success == true)
        {
            Path = settings.FileName;
        }
    }
}