Language: HTML | XAML

So wird’s gemacht: Speichern von Dateien über die Dateiauswahl (XAML)

Applies to Windows and Windows Phone

Mithilfe von FileSavePicker können Benutzer den Namen und Speicherort zum Speichern von App-Inhalten angeben.

Voraussetzungen

Kenntnisse in der asynchronen Programmierung für Windows-Runtime-Apps mit C++, C# oder Visual Basic

Informationen zum Schreiben von asynchronen Apps finden Sie in Schnellstart: Aufrufen asynchroner APIs in C# oder Visual Basic.

Anweisungen

Schritt 1: Erstellen und Anpassen des FileSavePicker-Objekts

Verwenden Sie FileSavePicker, damit Benutzer den Namen, Dateityp und Speicherort von zu speichernden Dateien angeben können. Sie können die Dateiauswahl durch Festlegen von Eigenschaften für das FileSavePicker-Objekt, das Sie erstellen, anpassen.

Im Beispiel zur Dateiauswahl wird veranschaulicht, wie Sie ein FileSavePicker-Objekt erstellen und anpassen.


FileSavePicker savePicker = new FileSavePicker();
savePicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;
// Dropdown of file types the user can save the file as
savePicker.FileTypeChoices.Add("Plain Text", new List<string>() { ".txt" });
// Default file name if the user does not type one in or select a file to replace
savePicker.SuggestedFileName = "New Document";


Sie sollten FileSavePicker-Eigenschaften festlegen, die für Ihre Benutzer und Ihre App relevant sind. Richtlinien zur Anpassung der Dateiauswahl erhalten Sie in Richtlinien und Prüfliste für die Dateiauswahl.

Im Beispiel zur Dateiauswahl wird die Dateiauswahl durch Festlegen von drei FileSavePicker-Eigenschaften angepasst: SuggestedStartLocation, FileTypeChoices und SuggestedFileName.

JJ150592.wedge(de-de,WIN.10).gifAnpassen eines FileSavePicker-Objekts im Detail

  1. Da der Benutzer in unserem Fall ein Dokument oder eine Textdatei speichert, wird im Beispiel savePicker.SuggestedStartLocation für den lokalen Ordner der App mithilfe von LocalFolder festgelegt.

    
    savePicker.SuggestedStartLocation = Windows.Storage.ApplicationData.LocalFolder;
    
    

    Legen Sie SuggestedStartLocation auf einen Pfad im Dateisystem fest, der zum ausgewählten Dateityp passt. Soll der Benutzer also Musik, Bilder oder Videos auswählen, stellen Sie den Ausgangspfad auf Musik, Bilder bzw. Videos ein. Legen Sie für alle anderen Dateitypen den lokalen Ordner der App als Ausgangspfad fest. Hierbei handelt es sich lediglich um eine Ausgangsposition. Benutzer haben beim Verwenden der Dateiauswahl die Möglichkeit, andere Speicherorte auszuwählen.

  2. Da wir sicherstellen möchten, dass unsere App die Datei nach dem Speichern öffnen kann, wird im Beispiel savePicker.FileTypeChoices.Add für die Angabe der vom Beispiel unterstützten Dateitypen verwendet (Microsoft Word-Dokumente und Textdateien).

    Bei Add handelt es sich um die Append-Methode, so wie Sie für C#-Entwickler projektiert wird.

    
    savePicker.FileTypeChoices.Add("Plain Text", new List<string>() { ".txt" });
    
    

    Stellen Sie sicher, dass alle von Ihnen angegebenen Dateitypen von Ihrer App unterstützt werden.

    Die Benutzer können ihre Datei unter einem beliebigen der von Ihnen in dieser Liste angegebenen Dateitypen speichern. Sie können den Dateityp auch ändern, indem sie im Dropdownsteuerelement in der unteren rechten Ecke der Dateiauswahl einen anderen Dateityp auswählen (den Sie zuvor angegeben haben). Standardmäßig wird die erste Dateitypauswahl in der Liste ausgewählt. Wenn Sie den standardmäßig ausgewählten Dateityp ändern möchten, legen Sie die savePicker.DefaultFileExtension-Eigenschaft fest.

    Hinweis  Für die Dateiauswahl wird zudem der aktuell ausgewählte Dateityp zum Filtern nach den angezeigten Dateien verwendet, sodass dem Benutzer nur die Dateitypen angezeigt werden, die mit den ausgewählten Dateitypen übereinstimmen.

  3. Da wir dem Benutzer einige Eingaben ersparen möchten, legt das Beispiel eine savePicker.SuggestedFileName-Eigenschaft zum Speichern der Datei fest.

    
    savePicker.SuggestedFileName = "New Document";
    
    

    Versuchen Sie, den vorgeschlagenen Dateinamen für die Datei, die der Benutzer speichert, möglichst relevant zu machen. Beispielsweise können Sie wie in Word den vorhandenen Dateinamen vorschlagen, sofern vorhanden. Sie können auch die erste Zeile eines Dokuments vorschlagen, wenn der Benutzer eine noch nicht benannte Datei speichert.

Hinweis  FileSavePicker-Objekte zeigen die Dateiauswahl mithilfe von PickerViewMode.List an.

Schritt 2: Anzeigen des FileSavePicker-Objekts zum Speichern einer Datei

Nachdem Sie die Dateiauswahl erstellt und angepasst haben, können Sie es den Benutzern durch Aufrufen von savePicker.PickSaveFileAsync ermöglichen, eine Datei zu speichern.

Nachdem die Benutzer den Namen, Dateityp und Speicherort angegeben und bestätigt haben, dass die Dateien gespeichert werden, gibt PickSaveFileAsync ein StorageFile-Objekt zurück, das die gespeicherte Datei darstellt. Sie können diese Datei mithilfe des await-Operators erfassen und verarbeiten.

Im Beispiel zur Dateiauswahl wird gezeigt, wie die Dateiauswahl angezeigt wird, damit Benutzer eine einzelne Datei auswählen können.


StorageFile file = await savePicker.PickSaveFileAsync();
if (file != null)
{
    // Prevent updates to the remote version of the file until we finish making changes and call CompleteUpdatesAsync.
    CachedFileManager.DeferUpdates(file);
    // write to file
    await FileIO.WriteTextAsync(file, file.Name);
    // Let Windows know that we're finished changing the file so the other app can update the remote version of the file.
    // Completing updates may require Windows to ask for user input.
    FileUpdateStatus status = await CachedFileManager.CompleteUpdatesAsync(file);
    if (status == FileUpdateStatus.Complete)
    {
        OutputTextBlock.Text = "File " + file.Name + " was saved.";
    }
    else
    {
        OutputTextBlock.Text = "File " + file.Name + " couldn't be saved.";
    }
}
else
{
    OutputTextBlock.Text = "Operation cancelled.";
}


Nach dem Speichern der Datei besitzt die App Lese- und Schreibzugriff für diese Datei. Im Beispiel wird die gespeicherte Datei im file-Parametererfasst und die Gültigkeit der Datei überprüft. Die Datei wird jedoch nicht weiter im Beispiel verarbeitet. In Schnellstart: Lesen und Schreiben einer Datei erfahren Sie, wie Sie in die resultierende Datei schreiben und daraus lesen können.

Tipp  Sie sollten vor einer weiteren Verarbeitung immer die Gültigkeit der gespeicherten Datei (file im Beispiel) immer überprüfen. Anschließend können Sie Inhalte dem Zweck der App entsprechend in der Datei speichern und das entsprechende Verhalten festlegen, falls die ausgewählte Datei nicht gültig ist.

Anmerkungen

Wenn Sie ähnlichen Code wie den hier angezeigten Code verwenden, sollte Ihre App den Benutzern die Dateiauswahl anzeigen. Die Benutzer können dann Dateien auswählen, die von der App geöffnet werden. In Schnellstart: Lesen und Schreiben einer Datei erfahren Sie, wie Sie in die resultierende Datei schreiben und daraus lesen können.

Wenn Sie der App den Befehl "Speichern unter" hinzufügen möchten, fügen Sie der Benutzeroberfläche der App ein Steuerelement hinzu, das FileSavePicker aufruft. Weitere Informationen zum Hinzufügen von Steuerelementen finden Sie unter Hinzufügen von Steuerelementen und Inhalten.

Wenn Ihre App einen Speicherort für Benutzer über die Dateiauswahl bereitstellen soll, finden Sie Informationen dazu unter Schnellstart: Integration mit Verträgen für die Dateiauswahl.

Verwandte Themen

Beispiel zur Dateiauswahl
Beispiel zum Dateizugriff
Richtlinien und Prüfliste für die Dateiauswahl
Schnellstart: Dateizugriff mit Dateiauswahl
Schnellstart: Lesen und Schreiben einer Datei
Referenz
Windows.Storage.Pickers namespace
Windows.Storage.Pickers.FileSavePicker class
Windows.Storage.StorageFile class
Verträge für die Dateiauswahl
Integration mit Verträgen für die Dateiauswahl
Schnellstart: Integration mit Verträgen für die Dateiauswahl
Richtlinien und Prüfliste für die Dateiauswahl

 

 

Anzeigen:
© 2015 Microsoft