Language: HTML | XAML

Schnellstart: Dateizugriff mit Dateiauswahl (XAML)

Applies to Windows and Windows Phone

Greifen Sie auf Dateien und Ordner über die Dateiauswahl zu, indem Benutzer Dateien und Ordner auswählen können. Mithilfe der FileOpenPicker-Klasse können Sie auf Dateien und mithilfe der FolderPicker-Klasse auf Ordner zugreifen.

Voraussetzungen

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

Unter Schnellstart: Verwenden des await-Operators zum asynchronen Programmieren erfahren Sie, wie Sie asynchrone Apps schreiben.

Dateiauswahl – Benutzeroberfläche

Die Dateiauswahl weist Bereiche oben und unten auf dem Bildschirm mit Informationen zur Orientierung von Benutzern auf, die für eine einheitliche Erfahrung beim Zugreifen auf oder Speichern von Dateien sorgen.

Es werden u. a. die folgenden Informationen angezeigt:

  • Die aktuelle Position, in der Ecke oben links
  • Ein Korb der vom Benutzer ausgewählten Elemente, am unteren Rand
  • Eine Dropdownliste der Speicherorte, die der Benutzer durchsuchen kann und die über das Caretzeichen nach unten in der Ecke oben links ausgewählt werden kann

Dieses Bildschirmfoto zeigt beispielsweise die Dateiauswahl, die von einer E-Mail-App aufgerufen wurde, damit der Benutzer einige Fotos auswählen kann (auf dem Bildschirmfoto hat der Benutzer keine Fotos ausgewählt).

Ein Bildschirmfoto der Dateiauswahl, in der zwei Dateien zum Öffnen ausgewählt sind.

Der Benutzer kann die Dropdownliste der verfügbaren Speicherorte anzeigen (wie die Liste auf dem Bildschirmfoto rechts), indem er das Caretzeichen nach unten in der Ecke oben links in der Dateiauswahl auswählt. Diese Speicherorte umfassen auch Dateisystempfade, etwa den Ordner "Musik" oder den Ordner "Downloads". Auch andere Apps sind enthalten, sofern sie (wie zum Beispiel Microsoft OneDrive) an Verträgen für die Dateiauswahl teilnehmen. Diese können Sie unten in der Liste auf dem Bildschirmfoto sehen.

Ein abgeschnittenes Bildschirmfoto der Dateiauswahl, das in der oberen linken Ecke eine Dropdownliste mit Speicherorten zeigt.

 

Funktionsweise der Dateiauswahl

Über die Dateiauswahl kann Ihre App Zugriff auf Dateien und Ordner überall auf dem System des Benutzers erlangen. Wenn Sie die Dateiauswahl aufrufen, kann der Benutzer sein System durchsuchen und Dateien oder Ordner zum Zugreifen und Speichern auswählen. Nachdem der Benutzer Dateien oder Ordner ausgewählt hat, erhält Ihre App diese Auswahl als StorageFile- und StorageFolder-Objekte. Ihre App kann mithilfe dieser Objekte mit den ausgewählten Dateien und Ordnern arbeiten. Weitere Informationen zum Zugriff auf Dateien erhalten Sie in Dateizugriff und Berechtigungen.

Die Dateiauswahl verwendet eine einzige, einheitliche Oberfläche, über die der Benutzer Dateien und Ordner im Dateisystem oder in anderen Apps auswählen kann. Mit Dateien, die in anderen Apps ausgewählt werden, verhält es sich genau so wie mit Dateien im Dateisystem: Sie werden als StorageFile-Objekte zurückgegeben. Im Allgemeinen kann Ihre App genau so mit ihnen arbeiten wie mit anderen derartigen Objekten. Andere Apps stellen Dateien bereit, indem sie an Verträgen für die Dateiauswahl teilnehmen. Wenn Sie möchten, dass Ihre App Dateien über die Dateiauswahl zur Verfügung stellt, erhalten Sie weitere Informationen in Integration mit Verträgen für die Dateiauswahl.

Beispielsweise können Sie die Dateiauswahl in Ihrer App aufrufen und dem Benutzer so ermöglichen, eine Datei zu öffnen. Dadurch wird Ihre App zur aufrufenden App. Die Dateiauswahl interagiert mit dem System und anderen Apps, damit der Benutzer zu einer Datei navigieren und diese auswählen kann. Wählt der Benutzer eine Datei aus, gibt die Dateiauswahl diese Datei an Ihre App zurück. Dieser Prozess wird im Diagramm für einen Fall veranschaulicht, in dem ein Benutzer eine Datei in einer anderen App wie OneDrive auswählt. OneDrive ist damit die bereitstellende App.

Ein Diagramm, das zeigt, wie eine App eine zu öffnende Datei aus einer anderen App erhält. Die Dateiauswahl fungiert hier als Schnittstelle zwischen den beiden Apps.

Vollständiger Code zur Auswahl einer Datei

Im Beispiel zur Dateiauswahl wird demonstriert, wie FileOpenPicker verwendet werden kann, um dem Benutzer die Auswahl einer einzelnen Datei zu ermöglichen.


FileOpenPicker openPicker = new FileOpenPicker();
openPicker.ViewMode = PickerViewMode.Thumbnail;
openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
openPicker.FileTypeFilter.Add(".jpg");
openPicker.FileTypeFilter.Add(".jpeg");
openPicker.FileTypeFilter.Add(".png");

StorageFile file = await openPicker.PickSingleFileAsync();
if (file != null)
{
    // Application now has read/write access to the picked file
    OutputTextBlock.Text = "Picked photo: " + file.Name;
}
else
{
    OutputTextBlock.Text = "Operation cancelled.";
}


Den vollständigen Code zur Auswahl mehrerer Dateien erhalten Sie ebenfalls im Beispiel zur Dateiauswahl.

Zu guter Letzt demonstriert das Beispiel zur Dateiauswahl, wie Sie eine EnsureUnsnapped-Methode schreiben.


internal bool EnsureUnsnapped()
{
    // FilePicker APIs will not work if the application is in a snapped state.
    // If an app wants to show a FilePicker while snapped, it must attempt to unsnap first
    bool unsnapped = ((ApplicationView.Value != ApplicationViewState.Snapped) || ApplicationView.TryUnsnap());
    if (!unsnapped)
    {
        NotifyUser("Cannot unsnap the sample.", NotifyType.StatusMessage);
    }

    return unsnapped;
}


Wir verwenden die EnsureUnsnapped-Methode immer dann, wenn wir versuchen, eine Dateiauswahl aufzurufen, um sicherzustellen, dass die Beispiel-App die Dateiauswahl erfolgreich einblenden kann. Wie Sie sehen, wird EnsureUnsnapped in einer Reihe von Beispielen auf dieser Seite verwendet. Kontexte dazu finden Sie in der Datei Constants.cs des Beispiels zur Dateiauswahl.

Warnung  Wenn Sie die Dateiauswahl anzeigen möchten, während die App angedockt ist, wird die Dateiauswahl nicht angezeigt, und eine Ausnahme wird zurückgegeben. Um dies zu vermeiden, stellen Sie sicher, dass die App nicht angedockt ist, oder docken Sie sie ab, bevor Sie die Dateiauswahl aufrufen. In den folgenden Codebeispielen und dem Beispiel zur Dateiauswahl wird dies veranschaulicht.

Vorgehensweise zur Auswahl einer Datei

Das Aufrufen der Dateiauswahl erfordert drei grundlegende Schritte: Gewährleisten, dass die Dateiauswahl aufgerufen werden kann, Erstellen und Anpassen eines Dateiauswahlobjekts und Einblenden der Dateiauswahl, sodass der Benutzer ein oder mehrere Elemente auswählen kann.

  1. Gewährleisten, dass die Dateiauswahl aufgerufen werden kann

    Jedes Mal, wenn eine Dateiauswahl aufgerufen werden soll, müssen Sie zunächst sicherstellen, dass Ihre App die Dateiauswahl einblenden kann. Vergewissern Sie sich, dass Ihre App nicht angedockt ist oder, falls sie angedockt sein sollte, dass sie gelöst werden kann, sodass die Dateiauswahl eingeblendet werden kann.

    Das Beispiel zur Dateiauswahl zeigt, wie eine Methode erstellt werden kann, die den ApplicationView.Value der App überprüft und versucht, sie zu lösen, bevor versucht wird, eine Dateiauswahl zu generieren und einzublenden.

    
    internal bool EnsureUnsnapped()
    {
        // FilePicker APIs will not work if the application is in a snapped state.
        // If an app wants to show a FilePicker while snapped, it must attempt to unsnap first
        bool unsnapped = ((ApplicationView.Value != ApplicationViewState.Snapped) || ApplicationView.TryUnsnap());
        if (!unsnapped)
        {
            NotifyUser("Cannot unsnap the sample.", NotifyType.StatusMessage);
        }
    
        return unsnapped;
    }
    
    
    

    Achten Sie darauf, diese Methode zu nutzen, um sicherzustellen, dass Sie eine Dateiauswahl aufrufen können:

    
    if (MainPage.Current.EnsureUnsnapped())
    {
        // Code to call file picker
    }
    
    

    Wir verwenden die EnsureUnsnapped-Methode immer dann, wenn wir versuchen, eine Dateiauswahl aufzurufen, um sicherzustellen, dass die Beispiel-App die Dateiauswahl erfolgreich einblenden kann. Wie Sie sehen, wird EnsureUnsnapped in einer Reihe von Beispielen auf dieser Seite verwendet. Kontexte dazu finden Sie in der Datei Constants.cs des Beispiels zur Dateiauswahl.

    Warnung  Wenn Sie die Dateiauswahl anzeigen möchten, während die App angedockt ist, schlägt der Aufruf fehl, und eine Ausnahme tritt auf.

  2. Erstellen und Anpassen eines FileOpenPicker

    Verwenden Sie FileOpenPicker, wenn der Benutzer Dateien auswählt. Sie können diese Klasse durch die Festlegung von Eigenschaften für das Objekt, das Sie erstellen, anpassen.

    Im Beispiel zur Dateiauswahl wird veranschaulicht, wie Sie einen FileOpenPicker erstellen und anpassen.

    
    FileOpenPicker openPicker = new FileOpenPicker();
    openPicker.ViewMode = PickerViewMode.Thumbnail;
    openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
    openPicker.FileTypeFilter.Add(".jpg");
    openPicker.FileTypeFilter.Add(".jpeg");
    openPicker.FileTypeFilter.Add(".png");
    
    
    

    Sie sollten die Eigenschaften für das Dateiauswahlobjekt 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. Weitere Informationen dazu, warum wir bestimmte Eigenschaften zur Anpassung der Dateiauswahl im Beispiel zur Dateiauswahl festlegen, erhalten Sie im Folgenden.

    FileOpenPicker-Anpassungen im Beispiel zur Dateiauswahl: Erklärung

    Das Beispiel zur Dateiauswahl bietet eine ansprechende visuelle Darstellung von Bildern an einem bequemen Ort, an dem sich der Benutzer bedienen kann, indem drei FileOpenPicker-Eigenschaften festgelegt werden: ViewMode, SuggestedStartLocation und FileTypeFilter.

    • Wenn der openPicker.ViewMode auf den Thumbnail.PickerViewMode-Enumerationswert festgelegt wird, entsteht eine ansprechende visuelle Darstellung, da Miniaturbilder als Darstellung für die Dateien in der Dateiauswahl erscheinen.

      
      openPicker.ViewMode = PickerViewMode.Thumbnail;
      
      

      Zudem ist es empfehlenswert, ViewMode auf PickerViewMode.Thumbnail festzulegen, falls Sie die Dateiauswahl dazu verwenden, visuelle Dateien wie Bilder oder Videos einzublenden. Nutzen Sie ansonsten PickerViewMode.List.

      In manchen Fällen möchte der Benutzer möglicherweise ein Bild, ein Video oder einen anderen Dateityp auswählen. Beispielsweise könnte er nach einer Datei suchen, um diese an eine E-Mail anzuhängen oder sie per Sofortnachricht zu verschicken. In diesem Fall sollten Sie beide Ansichtsmodi unterstützen, indem Sie Ihrer App zwei UI-Steuerelemente hinzufügen. Eines sollte die Dateiauswahl im Thumbnail-Ansichtsmodus aufrufen, sodass der Benutzer Bilder und Videos auswählen kann. Das andere sollte sie im List-Ansichtsmodus aufrufen, um dem Benutzer zu ermöglichen, andere Arten von Dateien auszuwählen. So würde eine Nachrichten-App etwa zwei Schaltflächen aufweisen: Bild oder Video anhängen und Dokument anhängen.

    • Wenn openPicker.SuggestedStartLocation mithilfe von PickerLocationId.PicturesLibrary auf Bilder festgelegt wird, beginnt der Benutzer in einem Pfad, der mit hoher Wahrscheinlichkeit Bilder enthält.

      
      openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
      
      

      Sie sollten SuggestedStartLocation auf einen Pfad im Dateisystem festlegen, der zum Dateityp passt, der ausgewählt wird. Soll der Benutzer also Musik, Bilder oder Videos auswählen, stellen Sie den Ausgangspfad auf Musik, Bilder bzw. Videos ein. Für alle weitere Dateitypen sollten Sie den Ausgangspfad auf die Dokumente festlegen. Hierbei handelt es sich lediglich um eine Ausgangsposition. Benutzer haben die Möglichkeit, andere Speicherorte aufzusuchen, während sie die Dateiauswahl verwenden.

      Zudem kommt SuggestedStartLocation nicht immer als Ausgangspfad in der Dateiauswahl zum Einsatz. Damit beim Benutzer eine Art Konsistenz gewährleistet ist, merkt sich die Dateiauswahl den letzten Speicherort, den der Benutzer aufgerufen hat, und beginnt die Navigation in der Regel wieder dort.

    • Indem wir openPicker.FileTypeFilter.Add verwenden, um die Dateitypen festzulegen, die dem Benutzer angezeigt werden, gewährleisten wir, dass er nicht durch irrelevante und ungeeignete Inhalte abgelenkt wird.

      
      openPicker.FileTypeFilter.Add(".jpg");
      openPicker.FileTypeFilter.Add(".jpeg");
      openPicker.FileTypeFilter.Add(".png");
      
      

      C#:  Add ist der Name der Append-Methode für C#-Entwickler.

      Sie sollten in Erwägung ziehen, die in der Dateiauswahl anzuzeigenden Dateitypen anzugeben, um die Relevanz der verfügbaren Dateien zu gewährleisten. Wenn es sich bei Ihrer App beispielsweise um einen Videoplayer handelt, können Sie mithilfe der FileTypeFilter-Eigenschaft auf Grundlage der Video-Dateinamenerweiterung gewährleisten, dass die in der Dateiauswahl angezeigten Dateien Videoformate sind, die von Ihrem Player unterstützt werden.

      Wenn Sie ältere Dateitypen im FileTypeFilter mit neuen Einträgen ersetzen möchten, können Sie statt Add die ReplaceAll-Methode verwenden.

  3. Anzeigen des FileOpenPicker

    Sie können die Dateiauswahl so einblenden, dass der Benutzer entweder eine oder mehrere Dateien auswählen kann:

    • Einblenden zur Auswahl einer einzelnen Datei

      Nachdem Sie eine Dateiauswahl erstellt und angepasst haben, können Sie es dem Benutzer durch Aufrufen von await bei FileOpenPicker.PickSingleFileAsync ermöglichen, eine Datei auszuwählen.

      Wählt der Benutzer eine Datei aus, wird von FileOpenPicker.PickSingleFileAsync ein StorageFile-Objekt zurückgegeben, das die ausgewählte Datei darstellt.

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

      
      StorageFile file = await openPicker.PickSingleFileAsync();
      if (file != null)
      {
          // Application now has read/write access to the picked file
          OutputTextBlock.Text = "Picked photo: " + file.Name;
      }
      else
      {
          OutputTextBlock.Text = "Operation cancelled.";
      }
      
      
      
    • Einblenden zur Auswahl mehrerer Dateien

      Nachdem Sie eine Dateiauswahl erstellt und angepasst haben, können Sie es dem Benutzer durch Aufrufen von await bei FileOpenPicker.PickMultipleFilesAsync ermöglichen, mehrere Dateien auszuwählen.

      Wählt der Benutzer mehrere Dateien aus, wird von FileOpenPicker.PickMultipleFilesAsync eine Liste mit ausgewählten Dateien zurückgegeben. Die Dateien in der Liste werden von StorageFile-Objekten dargestellt.

      Im Beispiel zur Dateiauswahl wird veranschaulicht, wie Sie die Dateiauswahl zum Auswählen mehrerer Dateien anzeigen und wie die Liste der ausgewählten Dateien für die Verarbeitung erfasst wird.

      
      IReadOnlyList<StorageFile> files = await openPicker.PickMultipleFilesAsync();
      if (files.Count > 0)
      {
          StringBuilder output = new StringBuilder("Picked files:\n");
          // Application now has read/write access to the picked file(s)
          foreach (StorageFile file in files)
          {
              output.Append(file.Name + "\n");
          }
          OutputTextBlock.Text = output.ToString();
      }
      else
      {
          OutputTextBlock.Text = "Operation cancelled.";
      }
      
      
      

Vollständiger Code zur Auswahl eines Ordners

Im Beispiel zur Dateiauswahl wird demonstriert, wie FolderPicker verwendet werden kann, um dem Benutzer die Auswahl einer einzelnen Datei zu ermöglichen.


if (rootPage.EnsureUnsnapped())
{
    FolderPicker folderPicker = new FolderPicker();
    folderPicker.SuggestedStartLocation = PickerLocationId.Desktop;
    folderPicker.FileTypeFilter.Add(".docx");
    folderPicker.FileTypeFilter.Add(".xlsx");
    folderPicker.FileTypeFilter.Add(".pptx");

    StorageFolder folder = await folderPicker.PickSingleFolderAsync();
    if (folder != null)
    {
        // Application now has read/write access to all contents in the picked folder (including other sub-folder contents)
        StorageApplicationPermissions.FutureAccessList.AddOrReplace("PickedFolderToken", folder);
        OutputTextBlock.Text = "Picked folder: " + folder.Name;
    }
    else
    {
        OutputTextBlock.Text = "Operation cancelled.";
    }
}


Den vollständigen Code zur Auswahl mehrerer Dateien erhalten Sie ebenfalls im Beispiel zur Dateiauswahl.

Zu guter Letzt demonstriert das Beispiel zur Dateiauswahl, wie Sie eine EnsureUnsnapped-Methode schreiben.


internal bool EnsureUnsnapped()
{
    // FilePicker APIs will not work if the application is in a snapped state.
    // If an app wants to show a FilePicker while snapped, it must attempt to unsnap first
    bool unsnapped = ((ApplicationView.Value != ApplicationViewState.Snapped) || ApplicationView.TryUnsnap());
    if (!unsnapped)
    {
        NotifyUser("Cannot unsnap the sample.", NotifyType.StatusMessage);
    }

    return unsnapped;
}


Wir verwenden die EnsureUnsnapped-Methode immer dann, wenn wir versuchen, eine Dateiauswahl aufzurufen, um sicherzustellen, dass die Beispiel-App die Dateiauswahl erfolgreich einblenden kann. Wie Sie sehen, wird EnsureUnsnapped in einer Reihe von Beispielen auf dieser Seite verwendet. Kontexte dazu finden Sie in der Datei Constants.cs des Beispiels zur Dateiauswahl.

Warnung  Wenn Sie die Dateiauswahl anzeigen möchten, während die App angedockt ist, wird die Dateiauswahl nicht angezeigt, und eine Ausnahme wird zurückgegeben. Um dies zu vermeiden, stellen Sie sicher, dass die App nicht angedockt ist, oder docken Sie sie ab, bevor Sie die Dateiauswahl aufrufen. In den folgenden Codebeispielen und dem Beispiel zur Dateiauswahl wird dies veranschaulicht.

Vorgehensweise zur Auswahl eines Ordners

Das Aufrufen der Dateiauswahl erfordert drei grundlegende Schritte: Gewährleisten, dass die Dateiauswahl aufgerufen werden kann, Erstellen und Anpassen eines Dateiauswahlobjekts und Einblenden der Dateiauswahl, sodass der Benutzer ein oder mehrere Elemente auswählen kann.

  1. Gewährleisten, dass die Dateiauswahl aufgerufen werden kann

    Jedes Mal, wenn eine Dateiauswahl aufgerufen werden soll, müssen Sie zunächst sicherstellen, dass Ihre App die Dateiauswahl einblenden kann. Vergewissern Sie sich, dass Ihre App nicht angedockt ist oder, falls sie angedockt sein sollte, dass sie gelöst werden kann, sodass die Dateiauswahl eingeblendet werden kann.

    Das Beispiel zur Dateiauswahl zeigt, wie eine Methode erstellt werden kann, die den ApplicationView.Value der App überprüft und versucht, sie zu lösen, bevor versucht wird, eine Dateiauswahl zu generieren und einzublenden.

    
    internal bool EnsureUnsnapped()
    {
        // FilePicker APIs will not work if the application is in a snapped state.
        // If an app wants to show a FilePicker while snapped, it must attempt to unsnap first
        bool unsnapped = ((ApplicationView.Value != ApplicationViewState.Snapped) || ApplicationView.TryUnsnap());
        if (!unsnapped)
        {
            NotifyUser("Cannot unsnap the sample.", NotifyType.StatusMessage);
        }
    
        return unsnapped;
    }
    
    
    

    Achten Sie darauf, diese Methode zu nutzen, um sicherzustellen, dass Sie eine Dateiauswahl aufrufen können:

    
    if (MainPage.Current.EnsureUnsnapped())
    {
        // Code to call file picker
    }
    
    

    Wir verwenden die EnsureUnsnapped-Methode immer dann, wenn wir versuchen, eine Dateiauswahl aufzurufen, um sicherzustellen, dass die Beispiel-App die Dateiauswahl erfolgreich einblenden kann. Wie Sie sehen, wird EnsureUnsnapped in einer Reihe von Beispielen auf dieser Seite verwendet. Kontexte dazu finden Sie in der Datei Constants.cs des Beispiels zur Dateiauswahl.

    Warnung  Wenn Sie die Dateiauswahl anzeigen möchten, während die App angedockt ist, schlägt der Aufruf fehl, und eine Ausnahme tritt auf.

  2. Erstellen und Anpassen eines FolderPicker

    Verwenden Sie FolderPicker, wenn der Benutzer einen Ordner auswählt. Sie können diese Klasse durch die Festlegung von Eigenschaften für das Objekt, das Sie erstellen, anpassen.

    Im Beispiel zur Dateiauswahl wird veranschaulicht, wie Sie einen FolderPicker erstellen und anpassen.

    
    FolderPicker folderPicker = new FolderPicker();
    folderPicker.SuggestedStartLocation = PickerLocationId.Desktop;
    folderPicker.FileTypeFilter.Add(".docx");
    folderPicker.FileTypeFilter.Add(".xlsx");
    folderPicker.FileTypeFilter.Add(".pptx");
    
    
    

    Sie sollten die Eigenschaften für das Dateiauswahlobjekt 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. Weitere Informationen dazu, warum wir bestimmte Eigenschaften zur Anpassung der Dateiauswahl im Beispiel zur Dateiauswahl festlegen, erhalten Sie im Folgenden.

    FolderPicker-Anpassungen im Beispiel zur Dateiauswahl: Erklärung

    Im Beispiel zur Dateiauswahl wird die Dateiauswahl für die Auswahl von Ordnern mithilfe von drei FolderPicker-Eigenschaften angepasst: ViewMode, SuggestedStartLocation und FileTypeFilter.

    • Indem wir die Standard-PickerViewMode.List für den folderPicker.ViewMode verwenden, können wir für eine listenähnliche Ansicht in der Dateiauswahl sorgen. Dies ist bei der Auswahl von Dateien vorteilhaft, die keine charakteristische Optik haben, etwa bei Dokumenten.

      Zudem ist es empfehlenswert, ViewMode auf PickerViewMode.Thumbnail festzulegen, falls Sie die Dateiauswahl dazu verwenden, visuelle Dateien wie Bilder oder Videos einzublenden. Nutzen Sie ansonsten PickerViewMode.List.

      Wenn Sie visuelle Dateien wie Bilder und Videos einblenden, sollten Sie den folderPicker.ViewMode auf Thumbnail einstellen:

      
      folderPicker.ViewMode = PickerViewMode.Thumbnail;
      
      
    • Wenn Sie folderPicker.SuggestedStartLocation auf den Desktop des Benutzers einstellen, indem Sie PickerLocationId.Desktop verwenden, sorgen Sie dafür, dass er die Navigation an einem vertrauten, häufig verwendeten Ort beginnt.

      
      folderPicker.SuggestedStartLocation = PickerLocationId.Desktop;
      
      

      Sie sollten SuggestedStartLocation auf einen Pfad im Dateisystem festlegen, der zur Art des Ordners passt, den der Benutzer auswählen möchte. Wenn der Benutzer beispielsweise einen Ordner mit Musikdateien auswählt, sollten Sie den Ausgangspunkt auf Musik festlegen. Hierbei handelt es lediglich um eine Ausgangsposition. Benutzer haben die Möglichkeit, zu anderen Speicherorten zu wechseln, während sie die Dateiauswahl verwenden.

      Zudem kommt SuggestedStartLocation nicht immer als Ausgangspfad in der Dateiauswahl zum Einsatz. Damit beim Benutzer eine Art Konsistenz gewährleistet ist, merkt sich die Dateiauswahl den letzten Speicherort, den der Benutzer aufgerufen hat, und beginnt die Navigation in der Regel wieder dort.

    • Indem wir folderPicker.FileTypeFilter.Add verwenden, um die Dateitypen festzulegen, die dem Benutzer angezeigt werden, gewährleisten wir, dass er nicht durch irrelevante Ordner abgelenkt wird.

      
      folderPicker.FileTypeFilter.Add(".docx");
      folderPicker.FileTypeFilter.Add(".xlsx");
      folderPicker.FileTypeFilter.Add(".pptx");
      
      

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

      Benutzer können Ordner nur über einen FolderPicker auswählen. Sie sind nicht dazu in der Lage, einzelne Dateien auszuwählen. Die Sichtbarkeit relevanter Dateien im FolderPicker hilft Benutzer jedoch dabei, festzustellen, welchen Ordner sie importieren möchten. Wenn Sie den FolderPicker zum Beispiel dazu verwenden, einen Speicherort anzugeben, von dem Bilder importiert werden sollen, hilft die Anzeige von Bilddateien dem Benutzer dabei, einen Überblick darüber zu erhalten, was importiert wird, wenn der Speicherort ausgewählt wird.

  3. Einblenden des FolderPicker zur Auswahl eines einzelnen Ordners

    Nachdem Sie einen FolderPicker erstellt und angepasst haben, können Sie es dem Benutzer durch Aufrufen von await bei FolderPicker.PickSingleFolderAsync ermöglichen, eine Datei auszuwählen.

    Wählt der Benutzer einen Ordner aus, wird von FolderPicker.PickSingleFolderAsync ein StorageFolder-Objekt zurückgegeben, das den ausgewählten Ordner darstellt.

    Im Beispiel zur Dateiauswahl wird veranschaulicht, wie Sie die Dateiauswahl zum Auswählen eines Ordners aufrufen und wie der ausgewählte Ordner für die Verarbeitung erfasst wird.

    
    StorageFolder folder = await folderPicker.PickSingleFolderAsync();
    if (folder != null)
    {
        // Application now has read/write access to all contents in the picked folder (including other sub-folder contents)
        StorageApplicationPermissions.FutureAccessList.AddOrReplace("PickedFolderToken", folder);
        OutputTextBlock.Text = "Picked folder: " + folder.Name;
    }
    else
    {
        OutputTextBlock.Text = "Operation cancelled.";
    }
    
    
    

Zusammenfassung und nächste Schritte

Wenn Sie einen ähnlichen Code wie den hier verwendeten benutzen, blendet Ihre App eine Dateiauswahl ein, in der Benutzer eine oder mehrere Dateien oder Ordner auswählen können, die Ihre App anschließend öffnen kann.

Tipp  Fügen Sie die Datei oder den Ordner für eine Nachverfolgbarkeit zur FutureAccessList oder MostRecentlyUsedList der App hinzu, wenn Ihre App auf eine Datei oder einen Ordner über die Dateiauswahl zugreift. Weitere Informationen zur Verwendung dieser Listen finden Sie in So wird's gemacht: Nachverfolgen kürzlich verwendeter Dateien und Ordner.

Informationen zum Lesen und Schreiben von Dateien finden Sie in Schnellstart: Lesen und Schreiben einer Datei und im Beispiel zum Dateizugriff. Weitere Informationen zur Arbeit mit Bilddateien erhalten Sie in Schnellstart: Image und ImageBrush, Schnellstart: Bildverarbeitung und dem XAML-Bildbeispiel.

Wenn Sie weitere Informationen über das Aufrufen der Dateiauswahl zum Speichern von Dateien benötigen, finden Sie diese in So wird's gemacht: Speichern von Dateien über die Dateiauswahl.

Wenn Ihre App Dateien, einen Speicherort oder Dateiupdates für andere Apps bereitstellen soll, finden Sie Informationen dazu unter Schnellstart: Integration mit Verträgen für die Dateiauswahl.

Verwandte Themen

Beispiel zur Dateiauswahl
Beispiel zum Dateizugriff
XAML-Bildbeispiel
Richtlinien und Prüfliste für die Dateiauswahl
So wird's gemacht: Speichern von Dateien über die Dateiauswahl
So wird's gemacht: Nachverfolgen kürzlich verwendeter Dateien und Ordner
Schnellstart: Lesen und Schreiben einer Datei
Schnellstart: Image und ImageBrush
Schnellstart: Bildverarbeitung
Dateizugriff und Berechtigungen
Schnellstart: Integration mit Verträgen für die Dateiauswahl
Namespace-Referenz
Windows.Storage.Pickers namespace
Windows.Storage.Pickers.FileOpenPicker class
Windows.Storage.Pickers.FolderPicker class
Windows.Storage.Pickers.PickerLocationId enum
Windows.Storage.Pickers.PickerViewMode enum

 

 

Anzeigen:
© 2014 Microsoft