Start Debugging
2023-10-12 Обновлено 2023-11-05 dotnetdotnet-8wpf Edit on GitHub

WPF Ограничиваем дерево папок OpenFileDialog одной папкой

Узнайте, как ограничить дерево папок WPF-диалога OpenFileDialog заданной корневой папкой с помощью свойства RootDirectory в .NET 8.

Начиная с .NET 8, дерево папок в OpenFileDialog и OpenFolderDialog можно ограничить заданной корневой папкой. Для этого выставьте свойство RootDirectory у диалога до вызова ShowDialog().

Очень важно помнить: это никак не ограничивает выбор и навигацию через адресную строку. Пользователь по-прежнему может перейти в папки за пределами указанного RootDirectory. То же самое относится и к свойству InitialDirectory, которое можно выставить на любую папку, в том числе вне RootDirectory.

Рассмотрим пример:

var dialog = new OpenFileDialog
{
    InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),
    RootDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures),
};

dialog.ShowDialog();

Это покажет диалог открытия файла, сфокусированный на папке MyDocuments, а дерево папок слева будет ограничено указанным корневым каталогом — в данном случае MyPictures.

OpenFileDialog with a constrained folder tree using RootDirectory.

Comments

Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.

< Назад