FileDialog
Диалог выбора пути к файлу или каталогу; загрузку и сохранение выполняет приложение.
Создайте FileDialog дочерним объектом своего интерфейса, задайте FileMode, Access, Filters и начальный путь. До открытия подключите FileSelected, FilesSelected или DirSelected под нужный режим. Для показа вызовите PopupFileDialog. Изменение свойств само не открывает окно и не подтверждает выбор.
OpenFile выбирает один файл, OpenFiles — несколько, OpenDir — каталог. OpenAny может дать FileSelected или DirSelected, поэтому обрабатывайте оба сигнала. SaveFile выбирает путь назначения и также сообщает FileSelected; файл при этом не создаётся и не записывается. Приложение само открывает FileAccess/ResourceLoader, проверяет результат и показывает ошибку.
Access.Resources ограничивает навигацию областью asset://, Userdata — user://, Filesystem использует доступную файловую систему ОС. Это не выдача прав доступа. Для пользовательских сохранений обычно нужен user://; в экспортированном приложении asset:// может быть недоступен для записи. После смены Access задайте начальный каталог заново: прежнее ограничение RootSubfolder сбрасывается.
CurrentDir — каталог, CurrentFile — текст имени файла, CurrentPath — их объединение. Для полного пути используйте CurrentPath, для имени в текущем каталоге — CurrentFile. CurrentPath без разделителя меняет только имя; пустая строка ничего не сбрасывает. Свойства не создают каталог или файл, а setter не возвращает Error: читайте фактический путь обратно и проверяйте операции ввода/вывода отдельно.
Filters — список масок, например .png,.jpg ; Изображения. Для расширения используйте *.png; .png само по себе не является маской расширения. Допустимо и конкретное имя файла. AddFilter принимает маску, подпись и необязательный MIME; в строковом списке MIME идёт третьей частью после ;. Массивы копируются: изменение полученного Filters не меняет диалог. Фильтр помогает навигации и выбору расширения, но не доказывает формат содержимого файла.
UseNativeDialog — запрос системного диалога при доступной поддержке платформы. Возможности фильтров и дополнительных опций зависят от backend; в sandbox ОС нативный путь может требоваться независимо от флага. GetVBox/GetLineEdit относятся к встроенному UI, а не к элементам системного окна. Настройте способ показа до открытия.
GetLineEdit возвращает принадлежащее диалогу поле имени файла, не поле поиска. GetVBox возвращает его внутренний контейнер. Их можно настраивать, но нельзя освобождать или переносить отдельно. Отмена не является успешным выбором; отсутствие FileSelected не заменяет собственную обработку отмены через унаследованный Canceled.
Invalidate помечает видимый встроенный список для отложенного обновления. Для скрытого диалога это не немедленное сканирование каталога. Не используйте его вместо проверки существования файла перед чтением/записью. Предупреждение о перезаписи также не заменяет проверку результата сохранения.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
FileDialogКонструктор
public FileDialog();Создаёт скрытый диалог в режиме SaveFile и области Resources. Начальная конфигурация не создаёт файл и не открывает системное окно.
Свойства25
AccessСвойство
public FileDialog.AccessEnum Access { get; set; }Область навигации: Resources (asset://), Userdata (user://) или Filesystem. По умолчанию Resources. Не выдаёт права ОС; смена сбрасывает RootSubfolder и состояние каталога следует настроить заново.
CurrentDirСвойство
public string CurrentDir { get; set; }Текущий каталог, не выбранный файл. Предпочитайте явный путь asset://, user:// или абсолютный путь под выбранный Access. Setter не создаёт каталог и не означает успешное подтверждение.
CurrentFileСвойство
public string CurrentFile { get; set; }Текст поля имени, обычно без каталога. Не загружает и не создаёт файл, не испускает FileSelected. Для полного пути используйте CurrentPath.
CurrentPathСвойство
public string CurrentPath { get; set; }Объединение CurrentDir и CurrentFile. Setter полного пути задаёт каталог и имя; путь без разделителя меняет только имя, пустая строка — no-op. Не является доказательством существования файла.
DeletingEnabledСвойство
public bool DeletingEnabled { get; set; }Разрешает действие удаления в меню встроенного списка, перемещающее выбранный объект в корзину при выполнении. Сам флаг ничего не удаляет; false не запрещает FileAccess/DirAccess приложения.
DisplayModeСвойство
public FileDialog.DisplayModeEnum DisplayMode { get; set; }Вид встроенного списка: Thumbnails или List. Не меняет FileMode, Access и результат чтения файла. Наличие качественной миниатюры зависит от настроенного источника миниатюр.
DriveSelectorEnabledСвойство
public bool DriveSelectorEnabled { get; set; }Показывать список дисков, когда он применим к текущему Access/платформе. Не выдаёт доступ ко всем дискам ОС.
FavoritesEnabledСвойство
public bool FavoritesEnabled { get; set; }Показывать избранное во встроенном UI. Не очищает общий список SetFavoriteList.
FileFilterToggleEnabledСвойство
public bool FileFilterToggleEnabled { get; set; }Показывать кнопку включения строки поиска имён. true показывает кнопку, но не включает сам поиск; это не список масок расширений Filters.
FileModeСвойство
public FileDialog.FileModeEnum FileMode { get; set; }Режим выбора: OpenFile, OpenFiles, OpenDir, OpenAny или SaveFile. SaveFile по умолчанию. Меняет стандартные подписи/тип выделения, не выполняет файловую операцию; пользовательский Title сохраняется.
FileNameFilterСвойство
public string FileNameFilter { get; set; }Поисковый текст имён во встроенном списке, отдельно от масок расширений Filters. При выключенной строке поиска setter сбрасывает запрос. Для постоянного ограничения расширений используйте Filters. Не считайте аргумент FileNameFilterChanged надёжным: в установленном Runtime есть несовпадение типа.
FileSortOptionsEnabledСвойство
public bool FileSortOptionsEnabled { get; set; }Показывать UI сортировки файлов. Не меняет имя, содержимое файла или порядок массива Filters.
FiltersСвойство
public string[] Filters { get; set; }Массив строк маска ; подпись ; MIME, последние части необязательны. Несколько масок в группе разделяются запятой. Getter возвращает копию; setter заменяет список, не валидируя содержимое файлов.
FiltersEnabledСвойство
public bool FiltersEnabled { get; set; }Показывать список фильтров расширений. Не очищает Filters и не является кнопкой строки поиска имён.
FolderCreationEnabledСвойство
public bool FolderCreationEnabled { get; set; }Разрешает UI создания каталога в подходящем FileMode. Не создаёт каталог при присваивании и не запрещает собственные вызовы DirAccess.
public bool HiddenFilesToggleEnabled { get; set; }Показывать кнопку скрытых файлов. Не равно ShowHiddenFiles: скрытие кнопки не меняет текущее включение скрытых элементов.
LayoutToggleEnabledСвойство
public bool LayoutToggleEnabled { get; set; }Показывать переключатель Thumbnails/List. Не сбрасывает текущий DisplayMode.
ModeOverridesTitleСвойство · Устарело
public bool ModeOverridesTitle { get; set; }Старый флаг: setter ничего не делает, getter возвращает true. Для своего заголовка задайте Title; в установленном SDK пользовательский Title сохраняется при смене FileMode.
NavigationButtonsEnabledСвойство
public bool NavigationButtonsEnabled { get; set; }Показывать кнопки назад/вперёд. Не блокирует программные CurrentDir/CurrentPath.
OptionCountСвойство
public int OptionCount { get; set; }Количество дополнительных настроек. Уменьшение сохраняет префикс списка; увеличение создаёт пустые записи, которым нужно задать уникальные имена, values и default. Изменение может пересоздать UI и сбросить текущие ответы к defaults.
OverwriteWarningEnabledСвойство
public bool OverwriteWarningEnabled { get; set; }Запрашивать подтверждение существующего пути в SaveFile. FileDialog не выполняет запись; даже после подтверждения проверяйте результат собственного сохранения.
RecentListEnabledСвойство
public bool RecentListEnabled { get; set; }Показывать недавние каталоги во встроенном UI. Не очищает общий список SetRecentList.
RootSubfolderСвойство
public string RootSubfolder { get; set; }Существующий каталог, ограничивающий навигацию встроенного UI в текущей области Access. Пустая строка снимает настройку; смена Access сбрасывает её. Не создаёт каталог и не является границей безопасности для собственного FileAccess — проверяйте конечный путь отдельно.
public bool ShowHiddenFiles { get; set; }Показывать скрытые элементы во встроенном списке, false по умолчанию. Не переключает FileMode и не выдаёт права доступа к скрытым/защищённым файлам.
UseNativeDialogСвойство
public bool UseNativeDialog { get; set; }Запрос системного окна при поддержке нужных возможностей платформой. false не гарантирует встроенный UI в sandbox ОС; true не гарантирует поддержку произвольных добавленных Control. Настраивайте до открытия.
Методы56
AddFilter2 перегрузки
public void AddFilter(string filter, string description);Короткая перегрузка добавляет маску и подпись с пустым MIME. Для MIME используйте перегрузку с mimeType; фильтр не проверяет содержимое файла.
| Имя | Тип | По умолчанию |
|---|---|---|
filter | string | — |
description | string | — |
filterГруппа масок, например .png,.jpg, не строка .png без *.
descriptionЧитаемая подпись группы фильтров.
public void AddFilter(string filter, string description = "", string mimeType = "");Добавляет группу масок, подпись и необязательный MIME. Пример маски: .png,.jpg; .png без * не используйте. Не подтверждает выбор и не доказывает формат содержимого.
| Имя | Тип | По умолчанию |
|---|---|---|
filter | string | — |
description | string | "" |
mimeType | string | "" |
filterГруппа масок, например .png,.jpg, не строка .png без *.
descriptionЧитаемая подпись группы фильтров.
mimeTypeНеобязательный MIME для backend с его поддержкой.
AddOption2 перегрузки
public void AddOption(string name, ReadOnlySpan<string> values, int defaultValueIndex);Добавляет дополнительную настройку с уникальным name. Пустой values создаёт checkbox с defaultValueIndex 0/1, непустой — список с индексом 0…Length-1; default ограничивается диапазоном. Встроенные контролы создаются при обновлении видимого диалога.
| Имя | Тип | По умолчанию |
|---|---|---|
name | string | — |
values | ReadOnlySpan<string> | — |
defaultValueIndex | int | — |
nameУникальный стабильный ключ/подпись дополнительной настройки.
valuesМассив вариантов; пустой задаёт checkbox. Копируется.
defaultValueIndexDefault: 0/1 для checkbox либо индекс варианта, ограничиваемый диапазоном.
public void AddOption(string name, string[] values, int defaultValueIndex);Добавляет дополнительную настройку с уникальным name. Пустой values создаёт checkbox с defaultValueIndex 0/1, непустой — список с индексом 0…Length-1; default ограничивается диапазоном. Встроенные контролы создаются при обновлении видимого диалога.
| Имя | Тип | По умолчанию |
|---|---|---|
name | string | — |
values | string[] | — |
defaultValueIndex | int | — |
nameУникальный стабильный ключ/подпись дополнительной настройки.
valuesМассив вариантов; пустой задаёт checkbox. Копируется.
defaultValueIndexDefault: 0/1 для checkbox либо индекс варианта, ограничиваемый диапазоном.
ClearFileNameFiltervoid
public void ClearFileNameFilter();Очищает поисковый запрос имён и обновляет встроенный UI. Не удаляет маски Filters, выбранный путь или файлы. При обработке уведомления учитывайте несовпадение payload FileNameFilterChanged.
ClearFiltersvoid
public void ClearFilters();Удаляет группы фильтров, сохраняя текст имени. Это не сброс пути и не снятие всех пользовательских ограничений ОС.
DeselectAllvoid
public void DeselectAll();Снимает выделение элементов списка и обновляет доступность подтверждения. Не удаляет файлы и не испускает успешный выбор.
GetAccessFileDialog.AccessEnum
public FileDialog.AccessEnum GetAccess();Область навигации: Resources (asset://), Userdata (user://) или Filesystem. По умолчанию Resources. Не выдаёт права ОС; смена сбрасывает RootSubfolder и состояние каталога следует настроить заново.
FileDialog.AccessEnumОбласть навигации: Resources (asset://), Userdata (user://) или Filesystem. По умолчанию Resources. Не выдаёт права ОС; смена сбрасывает RootSubfolder и состояние каталога следует настроить заново.
GetCurrentDirstring
public string GetCurrentDir();Текущий каталог, не выбранный файл. Предпочитайте явный путь asset://, user:// или абсолютный путь под выбранный Access. Setter не создаёт каталог и не означает успешное подтверждение.
stringТекущий каталог, не выбранный файл. Предпочитайте явный путь asset://, user:// или абсолютный путь под выбранный Access. Setter не создаёт каталог и не означает успешное подтверждение.
GetCurrentFilestring
public string GetCurrentFile();Текст поля имени, обычно без каталога. Не загружает и не создаёт файл, не испускает FileSelected. Для полного пути используйте CurrentPath.
stringТекст поля имени, обычно без каталога. Не загружает и не создаёт файл, не испускает FileSelected. Для полного пути используйте CurrentPath.
GetCurrentPathstring
public string GetCurrentPath();Объединение CurrentDir и CurrentFile. Setter полного пути задаёт каталог и имя; путь без разделителя меняет только имя, пустая строка — no-op. Не является доказательством существования файла.
stringОбъединение CurrentDir и CurrentFile. Setter полного пути задаёт каталог и имя; путь без разделителя меняет только имя, пустая строка — no-op. Не является доказательством существования файла.
GetDisplayModeFileDialog.DisplayModeEnum
public FileDialog.DisplayModeEnum GetDisplayMode();Вид встроенного списка: Thumbnails или List. Не меняет FileMode, Access и результат чтения файла. Наличие качественной миниатюры зависит от настроенного источника миниатюр.
FileDialog.DisplayModeEnumВид встроенного списка: Thumbnails или List. Не меняет FileMode, Access и результат чтения файла. Наличие качественной миниатюры зависит от настроенного источника миниатюр.
GetFavoriteListstring[]
public static string[] GetFavoriteList();Главный поток: возвращает копию общего списка избранных каталогов. Изменение массива не меняет глобальный список; используйте SetFavoriteList.
string[]Главный поток: возвращает копию общего списка избранных каталогов. Изменение массива не меняет глобальный список; используйте SetFavoriteList.
GetFileModeFileDialog.FileModeEnum
public FileDialog.FileModeEnum GetFileMode();Режим выбора: OpenFile, OpenFiles, OpenDir, OpenAny или SaveFile. SaveFile по умолчанию. Меняет стандартные подписи/тип выделения, не выполняет файловую операцию; пользовательский Title сохраняется.
FileDialog.FileModeEnumРежим выбора: OpenFile, OpenFiles, OpenDir, OpenAny или SaveFile. SaveFile по умолчанию. Меняет стандартные подписи/тип выделения, не выполняет файловую операцию; пользовательский Title сохраняется.
GetFileNameFilterstring
public string GetFileNameFilter();Поисковый текст имён во встроенном списке, отдельно от масок расширений Filters. При выключенной строке поиска setter сбрасывает запрос. Для постоянного ограничения расширений используйте Filters. Не считайте аргумент FileNameFilterChanged надёжным: в установленном Runtime есть несовпадение типа.
stringПоисковый текст имён во встроенном списке, отдельно от масок расширений Filters. При выключенной строке поиска setter сбрасывает запрос. Для постоянного ограничения расширений используйте Filters. Не считайте аргумент FileNameFilterChanged надёжным: в установленном Runtime есть несовпадение типа.
GetFiltersstring[]
public string[] GetFilters();Массив строк маска ; подпись ; MIME, последние части необязательны. Несколько масок в группе разделяются запятой. Getter возвращает копию; setter заменяет список, не валидируя содержимое файлов.
string[]Массив строк маска ; подпись ; MIME, последние части необязательны. Несколько масок в группе разделяются запятой. Getter возвращает копию; setter заменяет список, не валидируя содержимое файлов.
GetLineEditLineEdit
public LineEdit GetLineEdit();Общее внутреннее поле имени файла. Его Text отражается в CurrentFile; это не поле фильтра. Не освобождайте и не переносите отдельно; не является контролом системного окна ОС.
LineEditОбщее внутреннее поле имени файла. Его Text отражается в CurrentFile; это не поле фильтра. Не освобождайте и не переносите отдельно; не является контролом системного окна ОС.
GetOptionCountint
public int GetOptionCount();Количество дополнительных настроек. Уменьшение сохраняет префикс списка; увеличение создаёт пустые записи, которым нужно задать уникальные имена, values и default. Изменение может пересоздать UI и сбросить текущие ответы к defaults.
intКоличество дополнительных настроек. Уменьшение сохраняет префикс списка; увеличение создаёт пустые записи, которым нужно задать уникальные имена, values и default. Изменение может пересоздать UI и сбросить текущие ответы к defaults.
GetOptionDefaultint
public int GetOptionDefault(int option);Возвращает default схемы, не текущее пользовательское значение: 0/1 для checkbox либо индекс варианта.
| Имя | Тип | По умолчанию |
|---|---|---|
option | int | — |
optionИндекс настройки; SetOption* принимает отрицательный индекс с конца, getters требуют обычный допустимый.
intВозвращает default схемы, не текущее пользовательское значение: 0/1 для checkbox либо индекс варианта.
GetOptionNamestring
public string GetOptionName(int option);Имя настройки по обычному допустимому индексу. Используется ключом GetSelectedOptions, поэтому имена должны быть уникальными и стабильными.
| Имя | Тип | По умолчанию |
|---|---|---|
option | int | — |
optionИндекс настройки; SetOption* принимает отрицательный индекс с конца, getters требуют обычный допустимый.
stringИмя настройки по обычному допустимому индексу. Используется ключом GetSelectedOptions, поэтому имена должны быть уникальными и стабильными.
GetOptionValuesstring[]
public string[] GetOptionValues(int option);Возвращает копию массива подписей вариантов. Пустой массив означает checkbox, не отсутствие настройки. Изменяйте через SetOptionValues.
| Имя | Тип | По умолчанию |
|---|---|---|
option | int | — |
optionИндекс настройки; SetOption* принимает отрицательный индекс с конца, getters требуют обычный допустимый.
string[]Возвращает копию массива подписей вариантов. Пустой массив означает checkbox, не отсутствие настройки. Изменяйте через SetOptionValues.
GetRecentListstring[]
public static string[] GetRecentList();Главный поток: копия общего списка недавних каталогов. Это каталоги навигации, не журнал всех открытых файлов.
string[]Главный поток: копия общего списка недавних каталогов. Это каталоги навигации, не журнал всех открытых файлов.
GetRootSubfolderstring
public string GetRootSubfolder();Существующий каталог, ограничивающий навигацию встроенного UI в текущей области Access. Пустая строка снимает настройку; смена Access сбрасывает её. Не создаёт каталог и не является границей безопасности для собственного FileAccess — проверяйте конечный путь отдельно.
stringСуществующий каталог, ограничивающий навигацию встроенного UI в текущей области Access. Пустая строка снимает настройку; смена Access сбрасывает её. Не создаёт каталог и не является границей безопасности для собственного FileAccess — проверяйте конечный путь отдельно.
GetSelectedOptionsReckfell.Collections.Dictionary
public Reckfell.Collections.Dictionary GetSelectedOptions();Возвращает общий Dictionary name → bool/индекс текущего выбора. До построения контролов он может быть пустым, даже если OptionCount > 0. Перестройка опций сбрасывает его к defaults. Скопируйте нужные значения в модель после принятия выбора; не редактируйте словарь как официальный setter.
Reckfell.Collections.DictionaryВозвращает общий Dictionary name → bool/индекс текущего выбора. До построения контролов он может быть пустым, даже если OptionCount > 0. Перестройка опций сбрасывает его к defaults. Скопируйте нужные значения в модель после принятия выбора; не редактируйте словарь как официальный setter.
GetUseNativeDialogbool
public bool GetUseNativeDialog();Запрос системного окна при поддержке нужных возможностей платформой. false не гарантирует встроенный UI в sandbox ОС; true не гарантирует поддержку произвольных добавленных Control. Настраивайте до открытия.
boolЗапрос системного окна при поддержке нужных возможностей платформой. false не гарантирует встроенный UI в sandbox ОС; true не гарантирует поддержку произвольных добавленных Control. Настраивайте до открытия.
GetVBoxVBoxContainer
public VBoxContainer GetVBox();Общий внутренний VBoxContainer встроенного диалога. Добавляйте нужный UI, сохраняя владение контейнером за FileDialog; системный backend не обязан показывать эти Control.
VBoxContainerОбщий внутренний VBoxContainer встроенного диалога. Добавляйте нужный UI, сохраняя владение контейнером за FileDialog; системный backend не обязан показывать эти Control.
Invalidatevoid
public void Invalidate();Планирует обновление видимого встроенного списка; для скрытого диалога ничего немедленно не сканирует. Не является проверкой существования файла или подтверждением выбора.
IsCustomizationFlagEnabledbool
public bool IsCustomizationFlagEnabled(FileDialog.Customization flag);Возвращает настройку Customization указанного экземпляра. Это политика UI/подтверждения, не разрешение ОС на файловую операцию.
| Имя | Тип | По умолчанию |
|---|---|---|
flag | FileDialog.Customization | — |
flagНастройка FileDialog.Customization этого экземпляра.
boolВозвращает настройку Customization указанного экземпляра. Это политика UI/подтверждения, не разрешение ОС на файловую операцию.
IsModeOverridingTitlebool
public bool IsModeOverridingTitle();Старый флаг: setter ничего не делает, getter возвращает true. Для своего заголовка задайте Title; в установленном SDK пользовательский Title сохраняется при смене FileMode.
boolСтарый флаг: setter ничего не делает, getter возвращает true. Для своего заголовка задайте Title; в установленном SDK пользовательский Title сохраняется при смене FileMode.
public bool IsShowingHiddenFiles();Показывать скрытые элементы во встроенном списке, false по умолчанию. Не переключает FileMode и не выдаёт права доступа к скрытым/защищённым файлам.
boolПоказывать скрытые элементы во встроенном списке, false по умолчанию. Не переключает FileMode и не выдаёт права доступа к скрытым/защищённым файлам.
PopupFileDialogvoid
public void PopupFileDialog();Открывает диалог со штатным размером/ограничением относительно viewport. До вызова задайте режим, область, фильтры и обработчики выбора. Может использовать системный backend; сам файл не читает/не пишет.
SetAccessvoid
public void SetAccess(FileDialog.AccessEnum access);Область навигации: Resources (asset://), Userdata (user://) или Filesystem. По умолчанию Resources. Не выдаёт права ОС; смена сбрасывает RootSubfolder и состояние каталога следует настроить заново.
| Имя | Тип | По умолчанию |
|---|---|---|
access | FileDialog.AccessEnum | — |
accessResources, Userdata или Filesystem под требуемую область пути.
SetCurrentDirvoid
public void SetCurrentDir(string dir);Текущий каталог, не выбранный файл. Предпочитайте явный путь asset://, user:// или абсолютный путь под выбранный Access. Setter не создаёт каталог и не означает успешное подтверждение.
| Имя | Тип | По умолчанию |
|---|---|---|
dir | string | — |
dirКаталог под выбранным Access; в DirSelected — подтверждённый каталог.
SetCurrentFilevoid
public void SetCurrentFile(string file);Текст поля имени, обычно без каталога. Не загружает и не создаёт файл, не испускает FileSelected. Для полного пути используйте CurrentPath.
| Имя | Тип | По умолчанию |
|---|---|---|
file | string | — |
fileИмя файла в текущем каталоге; для полного пути используйте CurrentPath.
SetCurrentPathvoid
public void SetCurrentPath(string path);Объединение CurrentDir и CurrentFile. Setter полного пути задаёт каталог и имя; путь без разделителя меняет только имя, пустая строка — no-op. Не является доказательством существования файла.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
pathПуть в области выбранного Access; сигнал выбора не подтверждает успешную операцию I/O.
SetCustomizationFlagEnabledvoid
public void SetCustomizationFlagEnabled(FileDialog.Customization flag, bool enabled);Меняет указанную настройку UI/подтверждения. Не выполняет операцию с файлами, не меняет модель приложения и не выдаёт права ОС.
| Имя | Тип | По умолчанию |
|---|---|---|
flag | FileDialog.Customization | — |
enabled | bool | — |
flagНастройка FileDialog.Customization этого экземпляра.
enabledВключить указанную политику UI/подтверждения.
SetDisplayModevoid
public void SetDisplayMode(FileDialog.DisplayModeEnum mode);Вид встроенного списка: Thumbnails или List. Не меняет FileMode, Access и результат чтения файла. Наличие качественной миниатюры зависит от настроенного источника миниатюр.
| Имя | Тип | По умолчанию |
|---|---|---|
mode | FileDialog.DisplayModeEnum | — |
modeFileModeEnum для режима выбора либо DisplayModeEnum для вида списка, согласно типу параметра.
SetFavoriteList2 перегрузки
public static void SetFavoriteList(ReadOnlySpan<string> favorites);Заменяет общий для FileDialog список избранных каталогов процесса; вызывайте в главном потоке. Добавляет завершающий /. Не отдельный список экземпляра и не автоматическое сохранение на диск. Список UI обновляется отдельно.
| Имя | Тип | По умолчанию |
|---|---|---|
favorites | ReadOnlySpan<string> | — |
favoritesНовый общий список каталогов избранного, используемый из главного потока.
public static void SetFavoriteList(string[] favorites);Заменяет общий для FileDialog список избранных каталогов процесса; вызывайте в главном потоке. Добавляет завершающий /. Не отдельный список экземпляра и не автоматическое сохранение на диск. Список UI обновляется отдельно.
| Имя | Тип | По умолчанию |
|---|---|---|
favorites | string[] | — |
favoritesНовый общий список каталогов избранного, используемый из главного потока.
SetFileModevoid
public void SetFileMode(FileDialog.FileModeEnum mode);Режим выбора: OpenFile, OpenFiles, OpenDir, OpenAny или SaveFile. SaveFile по умолчанию. Меняет стандартные подписи/тип выделения, не выполняет файловую операцию; пользовательский Title сохраняется.
| Имя | Тип | По умолчанию |
|---|---|---|
mode | FileDialog.FileModeEnum | — |
modeFileModeEnum для режима выбора либо DisplayModeEnum для вида списка, согласно типу параметра.
SetFileNameFiltervoid
public void SetFileNameFilter(string filter);Поисковый текст имён во встроенном списке, отдельно от масок расширений Filters. При выключенной строке поиска setter сбрасывает запрос. Для постоянного ограничения расширений используйте Filters. Не считайте аргумент FileNameFilterChanged надёжным: в установленном Runtime есть несовпадение типа.
| Имя | Тип | По умолчанию |
|---|---|---|
filter | string | — |
filterПоисковый запрос; в FileNameFilterChanged аргумент SDK недостоверен из-за несовпадения нативного типа.
SetFilters2 перегрузки
public void SetFilters(ReadOnlySpan<string> filters);Массив строк маска ; подпись ; MIME, последние части необязательны. Несколько масок в группе разделяются запятой. Getter возвращает копию; setter заменяет список, не валидируя содержимое файлов.
| Имя | Тип | По умолчанию |
|---|---|---|
filters | ReadOnlySpan<string> | — |
filtersПолный заменяющий массив групп маска ; подпись ; MIME.
public void SetFilters(string[] filters);Массив строк маска ; подпись ; MIME, последние части необязательны. Несколько масок в группе разделяются запятой. Getter возвращает копию; setter заменяет список, не валидируя содержимое файлов.
| Имя | Тип | По умолчанию |
|---|---|---|
filters | string[] | — |
filtersПолный заменяющий массив групп маска ; подпись ; MIME.
SetGetIconCallbackvoid
public static void SetGetIconCallback(Callable callback);Устанавливает общий статический поставщик иконок для встроенных FileDialog: Callable получает один string пути и возвращает Texture2D либо null для fallback. Не настройка одного экземпляра. Не захватывайте короткоживущий диалог; управляйте сроком жизни поставщика на уровне приложения.
| Имя | Тип | По умолчанию |
|---|---|---|
callback | Callable | — |
callbackОбщий Callable: путь string → Texture2D либо null для fallback.
SetGetThumbnailCallbackvoid
public static void SetGetThumbnailCallback(Callable callback);Общий статический поставщик миниатюр: один string пути → Texture2D либо null для стандартного fallback. Работает во встроенном режиме Thumbnails, не гарантирует миниатюры системного окна. Кэшируйте готовые изображения; не блокируйте UI тяжёлой генерацией в callback.
| Имя | Тип | По умолчанию |
|---|---|---|
callback | Callable | — |
callbackОбщий Callable: путь string → Texture2D либо null для fallback.
SetModeOverridesTitlevoid
public void SetModeOverridesTitle(bool @override);Старый флаг: setter ничего не делает, getter возвращает true. Для своего заголовка задайте Title; в установленном SDK пользовательский Title сохраняется при смене FileMode.
| Имя | Тип | По умолчанию |
|---|---|---|
override | bool | — |
overrideНе действует; устаревший setter сохраняет getter true.
SetOptionCountvoid
public void SetOptionCount(int count);Количество дополнительных настроек. Уменьшение сохраняет префикс списка; увеличение создаёт пустые записи, которым нужно задать уникальные имена, values и default. Изменение может пересоздать UI и сбросить текущие ответы к defaults.
| Имя | Тип | По умолчанию |
|---|---|---|
count | int | — |
countНеотрицательное число записей дополнительных настроек.
SetOptionDefaultvoid
public void SetOptionDefault(int option, int defaultValueIndex);Задаёт default с ограничением 0…1 для checkbox или 0…values.Length-1 для списка. Принимает отрицательный индекс настройки; не используйте как тихое изменение одного текущего ответа в открытом диалоге.
| Имя | Тип | По умолчанию |
|---|---|---|
option | int | — |
defaultValueIndex | int | — |
optionИндекс настройки; SetOption* принимает отрицательный индекс с конца, getters требуют обычный допустимый.
defaultValueIndexDefault: 0/1 для checkbox либо индекс варианта, ограничиваемый диапазоном.
SetOptionNamevoid
public void SetOptionName(int option, string name);Меняет ключ/подпись настройки; принимает отрицательный индекс с конца. Пересоздание контролов может сбросить текущие ответы: настройте схему до открытия.
| Имя | Тип | По умолчанию |
|---|---|---|
option | int | — |
name | string | — |
optionИндекс настройки; SetOption* принимает отрицательный индекс с конца, getters требуют обычный допустимый.
nameУникальный стабильный ключ/подпись дополнительной настройки.
SetOptionValues2 перегрузки
public void SetOptionValues(int option, ReadOnlySpan<string> values);Заменяет варианты, копируя массив; пустой массив переключает настройку в checkbox. Сохранённый default ограничивается новым диапазоном. Принимает отрицательный индекс; может пересоздать UI.
| Имя | Тип | По умолчанию |
|---|---|---|
option | int | — |
values | ReadOnlySpan<string> | — |
optionИндекс настройки; SetOption* принимает отрицательный индекс с конца, getters требуют обычный допустимый.
valuesМассив вариантов; пустой задаёт checkbox. Копируется.
public void SetOptionValues(int option, string[] values);Заменяет варианты, копируя массив; пустой массив переключает настройку в checkbox. Сохранённый default ограничивается новым диапазоном. Принимает отрицательный индекс; может пересоздать UI.
| Имя | Тип | По умолчанию |
|---|---|---|
option | int | — |
values | string[] | — |
optionИндекс настройки; SetOption* принимает отрицательный индекс с конца, getters требуют обычный допустимый.
valuesМассив вариантов; пустой задаёт checkbox. Копируется.
SetRecentList2 перегрузки
public static void SetRecentList(ReadOnlySpan<string> recents);Заменяет общий список недавних каталогов процесса из главного потока, добавляя завершающий /. Не перезаписывает пользовательский файл настроек сам по себе.
| Имя | Тип | По умолчанию |
|---|---|---|
recents | ReadOnlySpan<string> | — |
recentsНовый общий список недавних каталогов, используемый из главного потока.
public static void SetRecentList(string[] recents);Заменяет общий список недавних каталогов процесса из главного потока, добавляя завершающий /. Не перезаписывает пользовательский файл настроек сам по себе.
| Имя | Тип | По умолчанию |
|---|---|---|
recents | string[] | — |
recentsНовый общий список недавних каталогов, используемый из главного потока.
SetRootSubfoldervoid
public void SetRootSubfolder(string dir);Существующий каталог, ограничивающий навигацию встроенного UI в текущей области Access. Пустая строка снимает настройку; смена Access сбрасывает её. Не создаёт каталог и не является границей безопасности для собственного FileAccess — проверяйте конечный путь отдельно.
| Имя | Тип | По умолчанию |
|---|---|---|
dir | string | — |
dirСуществующий каталог в выбранной области Access; пустая строка снимает настройку корня.
public void SetShowHiddenFiles(bool show);Показывать скрытые элементы во встроенном списке, false по умолчанию. Не переключает FileMode и не выдаёт права доступа к скрытым/защищённым файлам.
| Имя | Тип | По умолчанию |
|---|---|---|
show | bool | — |
showПоказывать скрытые элементы списка.
SetUseNativeDialogvoid
public void SetUseNativeDialog(bool native);Запрос системного окна при поддержке нужных возможностей платформой. false не гарантирует встроенный UI в sandbox ОС; true не гарантирует поддержку произвольных добавленных Control. Настраивайте до открытия.
| Имя | Тип | По умолчанию |
|---|---|---|
native | bool | — |
nativeЗапрос системного backend; применяйте до открытия.
Сигналы и события4
DirSelectedСобытие
public event FileDialog.DirSelectedEventHandler DirSelected;Принят каталог при OpenDir или каталоговый результат OpenAny. Это каталог, не имя для записи файла; FileDialog его не создаёт по факту сигнала.
| Имя | Тип | По умолчанию |
|---|---|---|
dir | string | — |
dirКаталог под выбранным Access; в DirSelected — подтверждённый каталог.
FileNameFilterChangedСобытие
public event FileDialog.FileNameFilterChangedEventHandler FileNameFilterChanged;Ограничение Runtime/SDK 1.0.0: нативный сигнал передаёт объект OptionButton, хотя SDK объявляет string. Не используйте filter как текст. Рабочий обход: Connect(FileDialog.SignalName.FileNameFilterChanged, Callable.From<Variant>(handler)), где handler игнорирует payload и читает FileNameFilter у диалога. Сохраните Callable для Disconnect.
| Имя | Тип | По умолчанию |
|---|---|---|
filter | string | — |
filterПоисковый запрос; в FileNameFilterChanged аргумент SDK недостоверен из-за несовпадения нативного типа.
FileSelectedСобытие
public event FileDialog.FileSelectedEventHandler FileSelected;Подтверждён один путь: OpenFile, файловый результат OpenAny либо SaveFile. При SaveFile путь может ещё не существовать. Сигнал не означает успешное чтение или запись — выполните и проверьте операцию отдельно.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
pathПуть в области выбранного Access; сигнал выбора не подтверждает успешную операцию I/O.
FilesSelectedСобытие
public event FileDialog.FilesSelectedEventHandler FilesSelected;Принят массив путей при OpenFiles. Проверьте каждый путь/файл отдельно; изменение настроек или CurrentPath этот сигнал не испускает.
| Имя | Тип | По умолчанию |
|---|---|---|
paths | string[] | — |
pathsМассив принятых путей OpenFiles.
FileDialog.AccessEnum
| Значение | Описание |
|---|---|
Filesystem = 2 | Диалоговое окно позволяет получить доступ к файлам во всей файловой системе. |
Resources = 0 | Диалоговое окно позволяет получить доступ только к файлам, находящимся по пути |
Userdata = 1 | Диалоговое окно позволяет получить доступ только к файлам, находящимся по пути к данным пользователя ( |
FileDialog.Customization
| Значение | Описание |
|---|---|
CreateFolder = 1 | Если включено, отображает кнопку для создания новых каталогов (при использовании |
Delete = 8 | Если эта опция включена, в контекстном меню отобразится пункт «Удалить», позволяющий перемещать файлы и папки в корзину.
Эквивалентно |
DriveSelector = 10 | Если установлен, показывает, что выбранный привод выпадает рядом с текущей траекторией.
Эквивалентность |
Favorites = 4 | Если включено, в левой части диалогового окна отображается кнопка переключения избранного и список избранного.
Эквивалентно |
FileFilter = 2 | Если включено, отображается кнопка переключения фильтра файлов.
Эквивалентно |
FileSort = 3 | Если включено, отображает кнопку параметров сортировки файлов.
Эквивалентно |
Filters = 11 | Если включена, покажите, что фильтр расширения файла сбрасывается рядом с именем файла.
Эквивалентность |
Layout = 6 | Если включено, отображаются кнопки переключения макета (список/миниатюры).
Эквивалентно |
NavigationButtons = 9 | Если включена, покажите назад/вперёд кнопки на панели инструментов.
Эквивалентность |
OverwriteWarning = 7 | Если включено, |
Recent = 5 | Если включено, отображает список последних каталогов в левой части диалогового окна.
Эквивалентно |
FileDialog.DisplayModeEnum
| Значение | Описание |
|---|---|
List = 1 | В диалоговом окне файлы отображаются в виде списка имен файлов. |
Thumbnails = 0 | Диалог отображает файлы в виде сетки миниатюр. Используйте СПИСОК |
FileDialog.FileModeEnum
| Значение | Описание |
|---|---|
OpenAny = 3 | Диалог позволяет выбрать один файл или каталог. |
OpenDir = 2 | В диалоговом окне можно выбрать только каталог, но не файл. |
OpenFile = 0 | Диалоговое окно позволяет выбрать один и только один файл. |
OpenFiles = 1 | Диалоговое окно позволяет выбрать несколько файлов. |
SaveFile = 4 | Диалоговое окно выдаст предупреждение, если файл уже существует. ДОСТУП К ИСТОЧНИКАМ |
Свойства темы
Это ключи ресурсов Theme, а не свойства C# класса. Используйте методы GetTheme…() и AddTheme…Override() у Control с соответствующим типом значения.
| Ключ и тип | Описание |
|---|---|
file_disabled_colorColor | Цветовой оттенок для отключенных файлов (когда Color(1, 1, 1, 0.25) |
file_icon_colorColor | Цветовая модуляция, примененная к значку файла. По умолчанию:Color(1, 1, 1, 1) |
folder_icon_colorColor | Цветовая модуляция, примененная к значку папки. По умолчанию:Color(1, 1, 1, 1) |
thumbnail_sizeint | Размер миниатюрных значков, когда включен 64 |
back_folderTexture2D | Пользовательский значок для стрелки «назад». |
create_folderTexture2D | Пользовательский значок для кнопки создания папки. |
favoriteTexture2D | Пользовательский значок для кнопки избранной папки. |
favorite_downTexture2D | Пользовательский значок для кнопки перемещения вниз по избранной записи. |
favorite_upTexture2D | Пользовательский значок для кнопки перемещения избранной записи вверх. |
fileTexture2D | Пользовательский значок для файлов. |
file_thumbnailTexture2D | Значок для файлов в режиме миниатюр. |
folderTexture2D | Пользовательский значок для папок. |
folder_thumbnailTexture2D | Значок для папок в режиме миниатюр. |
forward_folderTexture2D | Пользовательский значок для стрелки "вперед". |
list_modeTexture2D | Значок кнопки, включающей режим списка. |
menu_copy_pathTexture2D | Значок для пункта контекстного меню «Копировать путь». |
menu_deleteTexture2D | Значок для пункта контекстного меню «Удалить». |
menu_new_folderTexture2D | Значок для пункта контекстного меню "Создать папку...". Обычно он должен совпадать с |
menu_open_bundleTexture2D | Значок для пункта контекстного меню «Показать содержимое пакета». Этот пункт отображается только для пакетов macOS. |
menu_refreshTexture2D | Значок для пункта контекстного меню «Обновить». Обычно он должен совпадать с |
menu_show_in_file_managerTexture2D | Значок для пункта контекстного меню «Показать в файловом менеджере». |
parent_folderTexture2D | Пользовательский значок для стрелки родительской папки. |
reloadTexture2D | Пользовательский значок для кнопки "Обновить". |
sortTexture2D | Пользовательский значок для меню параметров сортировки. |
thumbnail_modeTexture2D | Значок кнопки, включающей режим миниатюр. |
toggle_filename_filterTexture2D | Пользовательский значок для переключателя фильтра по именам файлов. |