New to Telerik UI for WPF? Download free 30-day trial

RadOpenFolderDialog

RadOpenFolderDialog is a modal dialog box that allows you to specify one or multiple folder names to open.

Figure 1: RadOpenFolderDialog in single selection mode

WPF RadFileDialogs RadOpenFolderDialog in single selection mode

Showing the Dialog

To show the dialog call its ShowDialog method. If a valid folder is opened when you press OK, the DialogResult property will return True and the FileName, and FileNames properties will be set. You can use FileName and FileNames to get the names of the selected folders.

Note that when the ShowDialog method is called the UI of the host application will freeze until the dialog closes.

Example 1: Show a open folder dialog

public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
        InitializeComponent(); 
        this.Loaded += MainWindow_Loaded;            
    } 
 
    private void MainWindow_Loaded(object sender, RoutedEventArgs e) 
    { 
        ShowOpenFolderDialog(); 
        } 
 
    private void ShowOpenFolderDialog() 
    { 
        RadOpenFolderDialog openFolderDialog = new RadOpenFolderDialog(); 
        openFolderDialog.Owner = this; 
        openFolderDialog.ShowDialog(); 
        if (openFolderDialog.DialogResult == true) 
        { 
            string folderName = openFolderDialog.FileName; 
        } 
    } 
} 

The Owner property holds a reference of the Window which owned the dialog. Before calling the ShowDialog() method, the Owner property should be set to ensure correct behavior. Ownership is established when this property is set.

Enabling Multiple Selection

The dialog supports single and multiple selection modes. By default you can select only one folder at a time. To alter this you can set the Multiselect property of RadOpenFolderDialog.

Example 3: Enable multiple selection

public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
        InitializeComponent(); 
        this.Loaded += MainWindow_Loaded;            
    } 
 
    private void MainWindow_Loaded(object sender, RoutedEventArgs e) 
    { 
        ShowOpenFolderDialog(); 
        } 
 
    private void ShowOpenFolderDialog() 
    { 
        RadOpenFolderDialog openFolderDialog = new RadOpenFolderDialog(); 
        openFolderDialog.Owner = this; 
        openFolderDialog.Multiselect = true; 
        openFolderDialog.ShowDialog();         
    } 
} 

Figure 2: Multiple selection

WPF RadFileDialogs Multiple selection

Working with the Selected Folders

You can get the paths of the selected folders via the FileName and FileNames properties. Note that the properties are empty until the DialogResult is valid. When you open folder(s) the properties will return the corresponding directory paths.

You can get only the name of the selected folders, without the full path, via the SafeFileNames collection property.

Example 3: Get the selected folder names

public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
        InitializeComponent(); 
        this.Loaded += MainWindow_Loaded;            
    } 
 
    private void MainWindow_Loaded(object sender, RoutedEventArgs e) 
    { 
        ShowOpenFolderDialog(); 
        } 
 
    private void ShowOpenFolderDialog() 
    { 
        RadOpenFolderDialog openFolderDialog = new RadOpenFolderDialog(); 
        openFolderDialog.Owner = this; 
        openFolderDialog.ShowDialog(); 
        if (openFolderDialog.DialogResult == true) 
        { 
            string folderPath = openFolderDialog.FileName; 
            IEnumerable<string> folderPaths = openFolderDialog.FileNames; 
            IEnumerable<string> folderNames = openFolderDialog.SafeFileNames; 
        } 
    } 
} 

The FileName property can be set manually. This will change the value displayed in the selected file autocomplete box area. Note that setting this won't change the selected item in the list with the files.

Saving the Last Used Directory

You can save the last used directory by setting the RestoreDirectory property of the RadOpenFolderDialog. After setting this property to True and opening a folder the InitialDirectory of this RadOpenFolderDialog instance will be set to the parent of the opened folder.

Example 4: Set RestoreDirectory property

RadOpenFolderDialog openFolderDialog = new RadOpenFolderDialog(); 
openFolderDialog.RestoreDirectory = true; 

See Also

In this article