Erstellen von Eingabeaufforderungen für die Datei- oder Verzeichnisauswahl
Datei- oder Verzeichnisaufforderungen sind ein einfacher Mechanismus der Benutzeroberfläche, mit dem der Benutzer aufgefordert wird, einen Datei- oder Verzeichnispfad auszuwählen. Durch die Aufforderung des Benutzers wird das Dateidialogfeld aus dem systemeigenen Betriebssystem mit benutzerdefinierten Dialogfeldoptionen erstellt, die auf das spezifische Szenario des Benutzers abgestimmt sind.
Arbeiten mit Prompts zur Datei- oder Verzeichnisauswahl
In diesem Handbuch werden die folgenden Szenarien für das Arbeiten mit den Eingabeaufforderungen für die Datei- oder Verzeichnisauswahl behandelt:
- Aufforderung an den Benutzer, eine einzelne Datei zum Öffnen auszuwählen
- Aufforderung an den Benutzer, eine oder mehrere Dateien zum Öffnen auszuwählen
- Aufforderung an den Benutzer, eine Datei zum Speichern unter auszuwählen
- Aufforderung an den Benutzer, ein Verzeichnis zum Öffnen auszuwählen
- Optionen zum Anpassen der Datei- oder Verzeichnisaufforderungen verwenden
Aufforderung an den Benutzer, eine einzelne Datei zum Öffnen auszuwählen
Rufen Sie die ShowOpenFileDialogAsync
-Methode aus dem ShellExtensibility-Objekt auf, um eine Aufforderung zum Öffnen einer Datei zu erstellen.
ShellExtensibility.ShowOpenFileDialogAsync()
Die Methode ShowOpenFileDialogAsync
akzeptiert zwei Parameter:
Parameter | Type | Erforderlich | Beschreibung |
---|---|---|---|
Optionen | FileDialogOptions |
Ja | Definiert die Prompt-Optionen für die Dateiauswahl, um das Dialogfeld anzupassen. |
cancellationToken | CancellationToken |
Ja | Der CancellationToken für den asynchrone Operation. Bei Auslösung wird das Schließen des Prompts erzwungen. |
ShowOpenFileDialogAsync
gibt null
zurück, wenn der Benutzer das Dialogfeld schließt oder abbricht.
Beispiel
Der folgende Code in Command
zeigt einen Datei-Prompt mit Standarddialogoptionen.
public override async Task ExecuteCommandAsync(IClientContext context, CancellationToken cancellationToken)
{
FileDialogOptions options = new();
string? filePath = await this.Extensibility.Shell().ShowOpenFileDialogAsync(options, cancellationToken);
}
Aufforderung an den Benutzer, eine oder mehrere Dateien zum Öffnen auszuwählen
In einigen Fällen ist es hilfreich, Benutzern die Auswahl mehrerer Dateien gleichzeitig zu ermöglichen, was mit der ShowOpenMultipleFilesDialogAsync
-Methode erfolgen kann.
ShellExtensibility.ShowOpenMultipleFilesDialogAsync()
Die Methode ShowOpenMultipleFilesDialogAsync
akzeptiert zwei Parameter:
Parameter | Type | Erforderlich | Beschreibung |
---|---|---|---|
Optionen | FileDialogOptions |
Ja | Definiert die Prompt-Optionen für die Dateiauswahl, um das Dialogfeld anzupassen. |
cancellationToken | CancellationToken |
Ja | Der CancellationToken für den asynchrone Operation. Bei Auslösung wird das Schließen des Prompts erzwungen. |
ShowOpenMultipleFilesDialogAsync
gibt null
zurück, wenn der Benutzer das Dialogfeld schließt oder abbricht.
Beispiel
Der folgende Code in Command
zeigt einen Datei-Prompt mit Standarddialogoptionen.
public override async Task ExecuteCommandAsync(IClientContext context, CancellationToken cancellationToken)
{
FileDialogOptions options = new();
IReadOnlyList<string>? filePath = await this.Extensibility.Shell().ShowOpenMultipleFilesDialogAsync(options, cancellationToken);
}
Aufforderung an den Benutzer, eine Datei zum Speichern unter auszuwählen
Durch die Aufforderung zur Eingabe eines Dateinamens für „Speichern unter“ kann der Benutzer einen eigenen Dateinamen angeben.
ShellExtensibility.ShowSaveAsFileDialogAsync()
Die Methode ShowSaveAsFileDialogAsync
akzeptiert zwei Parameter:
Parameter | Type | Erforderlich | Beschreibung |
---|---|---|---|
Optionen | FileDialogOptions |
Ja | Definiert die Prompt-Optionen für die Dateiauswahl, um das Dialogfeld anzupassen. |
cancellationToken | CancellationToken |
Ja | Der CancellationToken für den asynchrone Operation. Bei Auslösung wird das Schließen des Prompts erzwungen. |
ShowSaveAsFileDialogAsync
gibt null
zurück, wenn der Benutzer das Dialogfeld schließt oder abbricht.
Beispiel
Der folgende Code in Command
zeigt einen Datei-Prompt mit Standarddialogoptionen.
public override async Task ExecuteCommandAsync(IClientContext context, CancellationToken cancellationToken)
{
FileDialogOptions options = new();
string? filePath = await this.Extensibility.Shell().ShowSaveAsFileDialogAsync(options, cancellationToken);
}
Aufforderung an den Benutzer, ein Verzeichnis zum Öffnen auszuwählen
Rufen Sie die ShowOpenFolderDialogAsync
-Methode aus dem ShellExtensibility-Objekt auf, um eine Aufforderung zum Öffnen einer Datei zu erstellen.
ShellExtensibility.ShowOpenFolderDialogAsync()
Die Methode ShowOpenFolderDialogAsync
akzeptiert zwei Parameter:
Parameter | Type | Erforderlich | Beschreibung |
---|---|---|---|
Optionen | FolderDialogOptions |
Ja | Definiert die Prompt-Optionen für die Dateiauswahl, um das Dialogfeld anzupassen. |
cancellationToken | CancellationToken |
Ja | Der CancellationToken für den asynchrone Operation. Bei Auslösung wird das Schließen des Prompts erzwungen. |
ShowOpenFolderDialogAsync
gibt null
zurück, wenn der Benutzer das Dialogfeld schließt oder abbricht.
Beispiel
Der folgende Code in Command
zeigt einen Datei-Prompt mit Standarddialogoptionen.
public override async Task ExecuteCommandAsync(IClientContext context, CancellationToken cancellationToken)
{
FolderDialogOptions options = new();
string? folderPath = await this.Extensibility.Shell().ShowOpenFolderDialogAsync(options, cancellationToken);
}
Optionen zum Anpassen der Datei- oder Verzeichnisaufforderungen verwenden
Die FileDialogOptions
-, DialogFilters
- und FolderDialogOptions
-Typen können verwendet werden, um Ihre Eingabeaufforderungen anzupassen:
FileDialogOptions
Eigenschaft | Typ | Erforderlich | Beschreibung | Beispiel |
---|---|---|---|---|
title | string |
No | Der Titel des Dialogs. Wenn der Titel eine leere Zeichenkette ist, verwendet das System einen Standardtitel, der entweder „Speichern unter“ oder „Öffnen“ lautet. Der Standardwert ist string.Empty |
„Öffnen Sie eine Datei“ |
initialFileName | string |
No | Der Dateiname im Eingabefeld des Dialogfelds. Für das Dialogfeld „Datei öffnen“ muss der Dateiname vorhanden sein, oder das Dialogfeld gibt einen Fehler zurück. Wenn ein ungültiger Dateiname übergeben wird, verwenden wir die Standardeinstellung. Der Standardwert ist string.Empty . |
„filename.ext“ |
filters | DialogFilters |
No | Die Filter, die für das Dialogfeld verwendet werden. | Siehe Beispiele für Prompts mit benutzerdefinierten Optionen |
DialogFilters
Begriff | Typ | Erforderlich | Beschreibung | Beispiel |
---|---|---|---|---|
Filter | IReadOnlyCollection<DialogFilter> |
Ja | Die Filter zum Auswählen oder Speichern einer Datei. | Siehe Beispiele für Prompts mit benutzerdefinierten Optionen |
DefaultFilterIndex | int |
No | Wird verwendet, um den Standardfilterindex des Filters festzulegen, der standardmäßig ausgewählt ist. Der Standardwert ist 0 . |
Der Minimumindex beträgt 0 und das Maximum ist number of filters - 1 . |
FolderDialogOptions
Eigenschaft | Typ | Erforderlich | Beschreibung | Beispiel |
---|---|---|---|---|
title | string |
No | Der Titel des Dialogs. Wenn der Titel eine leere Zeichenkette ist, verwendet das System einen Standardtitel, der entweder „Speichern unter“ oder „Öffnen“ lautet. Der Standardwert ist string.Empty . |
„Öffnen Sie eine Datei“ |
initialDirectory | string |
No | Das Verzeichnis, das das Dialogfeld geöffnet haben sollte, was ein absoluter Pfad sein sollte. Wenn das initialDirectory eine leere Zeichenkette ist, wird standardmäßig das ursprüngliche Verzeichnis als zuletzt geöffnetes Verzeichnis verwendet. Wenn kein zuvor geöffnetes Verzeichnis vorhanden ist, wird das ursprüngliche Verzeichnis standardmäßig im Stammordner gespeichert. Wenn ein initialDirectory angegeben ist, übergeben wir ein Flag an das Dialogfeld, um das angegebene Verzeichnis anstelle des zuletzt geöffneten Verzeichnisses zu öffnen. Wenn ein ungültiges Verzeichnis übergeben wird, verwenden wir die Standardeinstellung. Der Standardwert ist string.Empty . |
„Pfad/Zu/Ordner“ |
Beispiele für Eingabeaufforderungen mit benutzerdefinierten Optionen
Eingabeaufforderung für die Dateiauswahl
DialogFilter[] filters = new DialogFilter[]
{
new DialogFilter("Word Files", ".doc", ".docx"),
new DialogFilter("Excel Files", ".xls", ".xlsx"),
new DialogFilter("All Files", ".*"),
};
FileDialogOptions options = new FileDialogOptions()
{
Title = "Choose a File To Open".
InitialDirectory = "absolute/path/to/file",
InitialFileName = "file.txt",
Filters = new DialogFilters(filters)
{
DefaultFilterIndex = 1,
},
};
string? filePath = await Extensibilty.Shell().ShowOpenFileDialogAsync(options, cancellationToken);
Eingabeaufforderung für die Verzeichnisauswahl
FolderDialogOptions options = new FolderDialogOptions()
{
Title = "Choose a Folder",
InitialDirectory = "absolute/path/to/folder"
};
string? folderPath = await Extensibilty.Shell().ShowOpenFolderDialogAsync(options, cancellationToken);
Nächste Schritte
Sehen Sie sich als Nächstes das FilePickerSample an.