Skip to main content
All docs
V25.1
  • BrowsePathEdit Class

    A text editor that allows users to specify a path to a file/folder.

    Namespace: DevExpress.Xpf.Editors

    Assembly: DevExpress.Xpf.Core.v25.1.dll

    NuGet Package: DevExpress.Wpf.Core

    Declaration

    [DXLicenseWpf]
    public class BrowsePathEdit :
        ButtonEdit

    Remarks

    The BrowsePathEdit displays the specified file’s/folder’s icon, a text box where users can edit the path, and a button that invokes a browse dialog.

    Browse Path Editor

    Run Demo: BrowsePathEdit

    Tip

    The BrowsePathEdit class inherits its features from the ButtonEdit class.

    Refer to the ButtonEdit class description for information on derived features and API.

    Create a BrowsePathEdit

    Use the BaseEdit.EditValue property to specify the editor’s value.

    Create a BrowsePathEdit

    <Window ...
        xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors">
    
    <dxe:BrowsePathEdit EditValue="C:\Program Files\"/>
    
    <dxe:BrowsePathEdit EditValue="C:\"/>
    

    Handle the BaseEdit.EditValueChanged event to get a notification when the editor’s value is changed. To validate the new value, handle the BaseEdit.Validate event or use the techniques described in the following help topic: Input Validation.

    Customize the Path Icon

    The BrowsePathEdit displays a path icon if the ShowIcon property is set to true. The PathIcon property returns the displayed icon.

    If a user specifies an invalid file path, the BrowsePathEdit displays the invalid path icon:

    BrowsePathEdit - Invalid File Path

    Path Icon Selector

    The following code sample uses the PathIconSelector property to change the icon displayed for folders:

    BrowsePathEdit - PathIconSelector

    <Window.Resources>
        <local:IconSelector x:Key="iconSelector"/>
    </Window.Resources>
    
    <!-- ... -->
    
    <dxe:BrowsePathEdit DialogType="Folder" PathIconSelector="{StaticResource iconSelector}">
    
    using DevExpress.Xpf.Editors;
    using System.IO;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    // ...
    
    public class IconSelector : IPathIconSelector {
        public ImageSource Select(string path) {
            if (Directory.Exists(path))
                return new BitmapImage(new System.Uri("pack://application:,,,/Open_16x16.png"));
            return null;
        }
    }
    

    CustomPathIcon Event

    The following code sample uses the CustomPathIcon event to change the icon displayed if a user enters an invalid path:

    BrowsePathEdit - Custom Path Icon

    <dxe:BrowsePathEdit DialogType="Folder" CustomPathIcon="OnCustomPathIcon">
    
    using DevExpress.Xpf.Editors;
    using System.IO;
    using System.Windows.Media.Imaging;
    // ...
    
    void OnCustomPathIcon(object sender, PathIconEventArgs e) {
        if (!Directory.Exists(e.Path))
            e.Icon = new BitmapImage(new System.Uri("pack://application:,,,/Warning_16x16.png"));
        e.Handled = true;
    }
    

    The CustomPathIcon event has a higher priority than the PathIconSelector property.

    Browse Dialogs

    Use the DialogType property to specify the type of the dialog invoked when a user clicks the Browse button or you call the ShowDialog method. The BrowsePathEdit can invoke the following dialogs:

    FileOpen
    The dialog that allows users to select a file (OpenFileDialog).
    FileSave
    The dialog that allows users to save a file with the specified name and type (SaveFileDialog).
    Folder
    The dialog that allows users to select a folder (FolderBrowserDialog).

    Dialog Events

    The BrowsePathEdit raises the following events when a user opens or closes the browse dialog:

    DialogOpening
    Allows you to cancel the open dialog operation or use the DialogParameters class members to customize the invoked dialog.
    DialogClosed
    Allows you to get whether a user selects a file/folder or closes the dialog.

    Example

    The following code sample specifies the dialog’s initial file name, extension, and folder:

    1. Handle the DialogOpening event.
    2. Specify dialog settings.
    3. Set the e.Handled property to true to apply settings.

    BrowsePathEdit - DialogOpening Event

    <dxe:BrowsePathEdit DialogType="FileSave" DialogOpening="OnDialogOpening">
    
    using DevExpress.Xpf.Editors;
    using System;
    // ...
    
    void OnDialogOpening(object sender, DialogOpeningEventArgs e) {
        e.DialogParameters.FileName = "NewFile";
        e.DialogParameters.DefaultExt = "txt";
        e.DialogParameters.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
        e.Handled = true;
    }
    

    Drop Files to the Editor

    Users can drop files/folders onto the BrowsePathEdit to specify the file/folder path. To enable this functionality, set the editor’s AllowDrop property to true. In this case, the BrowsePathEdit displays the following placeholder text: "Drop a file/folder here".

    BrowsePathEdit - Drop Files

    Use the BaseEdit.NullText property to specify custom placeholder text.

    Appearance Customization

    Refer to the following help topic for more information: Appearance Customization.

    See Also