Schnellstart: Integration mit Verträgen für die Dateiauswahl (Windows-Runtime-Apps)
[ Dieser Artikel richtet sich an Windows 8.x- und Windows Phone 8.x-Entwickler, die Windows-Runtime-Apps schreiben. Wenn Sie für Windows 10 entwickeln, finden Sie weitere Informationen unter neueste Dokumentation]
Stellen Sie den Zugriff auf App-Inhalte, einen Speicherort oder Dateiupdates mithilfe der Dateiauswahl bereit durch Integrieren der App mit dem Vertrag für "Auswahl für 'Datei öffnen'", dem Vertrag für "Auswahl für 'Datei speichern'" oder dem Vertrag für die Aktualisierung zwischengespeicherter Dateien.
Voraussetzungen
- JavaScript: Aktivieren einer App
- C#/C++/VB: Aktivieren einer App
- Empfohlen: Windows-Anwendungsverträge
Entscheiden Sie, welche Dienste von der App in Dateiauswahlfenstern bereitgestellt werden
Durch die Integration mit dem zugeordneten App-Vertrag kann Ihre App die folgenden Dienste bereitstellen. Damit die App an einem Vertrag teilnimmt, müssen Sie den Vertrag im App-Manifest deklarieren, auf das entsprechende activated-Ereignis reagieren und eine spezielle App-Ansicht erstellen.
Bereitstellen des Zugriffs auf Dateien
Bieten Sie Zugriff auf Dateien über eine Dateiauswahl, um Dateien für andere Apps bereitzustellen, wenn Ihre App eine besondere und/oder nützliche Darstellung dieser Dateien bietet oder es für die Benutzer schwierig ist, anderweitig auf diese Dateien zuzugreifen.
App-Vertrag: Vertrag für "Auswahl für 'Datei öffnen'"
Informationen zum activated-Ereignis: fileOpenPickerActivatedEventArgs
Bereitstellen eines Speicherorts
Stellen Sie einen Speicherort über eine Dateiauswahl bereit, wenn Sie annehmen, dass Benutzer Dateien speichern möchten, um Sie zu einem späteren Zeitpunkt in der App zu öffnen und damit zu arbeiten.
App-Vertrag: Vertrag für "Auswahl für 'Datei speichern'"
Informationen zum activated-Ereignis: fileSavePickerActivatedEventArgs
Bereitstellen von Updates für Dateien in Echtzeit
Ermöglichen Sie das Nachverfolgen und Aktualisieren von Dateien in einer Dateiauswahl, wenn Sie annehmen, dass Benutzer die App als zentrales Dateienrepository für den Zugriff auf Dateien oder zum Speichern von Dateien nutzen.
App-Vertrag: Vertrag für die Aktualisierung zwischengespeicherter Dateien
Informationen zum activated-Ereignis: cachedFileUpdaterActivatedEventArgs
Weitere Informationen zu den Diensten, die Ihre App über eine Dateiauswahl bereitstellen kann, finden Sie unter Dateizugriff mit Dateiauswahlen.
Deklarieren des Vertrags im App-Manifest
Öffnen Sie das Projekt in Microsoft Visual Studio. Führen Sie dann die folgenden Schritte aus, um dem Manifest einen App-Vertrag hinzuzufügen:
Fügen Sie einen App-Vertrag hinzu, indem Sie das Fenster zum Hinzufügen eines neuen Elements für Ihr Projekt aufrufen. Wählen Sie den Vertrag im mittleren Bereich aus, und klicken Sie auf die Schaltfläche Hinzufügen.
Sie können das Fenster Neues Element hinzufügen in Visual Studio auf unterschiedliche Weise aufrufen:
- Wählen Sie die Menüoption Projekt > Neues Element hinzufügen.
- Wählen Sie im Kontextmenü des Projekts die Menüoption Hinzufügen > Neues Element.
- Drücken Sie die Tastenkombination STRG+UMSCHALT+A.
Tipp Wenn Sie diese Verträge hinzufügen, aktualisiert Visual Studio automatisch die Manifestdatei "package.appmanifest" und fügt dem Projekt Dateien hinzu. Mit diesen Dateien definieren Sie das Layout und Verhalten der Ansicht, die in der Dateiauswahl angezeigt wird, wenn der Dienst der App aufgerufen wird.
Passen Sie die Vertragseinstellungen in Visual Studio an, wenn sich die Standardeinstellungen nicht für die App eignen.
Öffnen Sie "package.appmanifest".
Öffnen Sie die Registerkarte Deklarationen.
Wählen Sie den Vertragsnamen in der Liste Unterstützte Deklarationen aus.
Fügen Sie die Unterstützung für bestimmte Dateitypen hinzu.
Deaktivieren Sie im Feld Unterstützte Dateitypen das Kontrollkästchen SupportsAnyFileType.
Fügen Sie mit den folgenden Schritten für jeden Dateityp, den Sie unterstützen möchten, ein neues FileType-Feld hinzu:
- Klicken Sie auf die Schaltfläche Neu hinzufügen.
- Geben Sie im Feld FileType die Erweiterung eines Dateityps ein, den Sie unterstützen möchten:
*.ext
Tipp Fügen Sie nur Dateitypen hinzu, die direkt für die App, die Benutzer und den Vertrag relevant sind. Wenn Sie die Dateitypen auf diese Weise beschränken, bleibt die Ansicht der Dateiauswahl übersichtlich und benutzerfreundlich.
Sie können die Unterstützung für einen Dateityp auch entfernen. Führen Sie dazu die vorherigen Schritte aus, und klicken Sie bei dem entsprechenden Dateityp auf die Schaltfläche Entfernen. Die Schaltfläche Entfernen befindet sich direkt über dem Feld FileType.
Die Manifestdatei wird mit Markup für den hinzugefügten Vertrag aktualisiert. Ein Element, das den Vertrag darstellt, wird im XML-Markup des Manifests als untergeordnetes Element des Extensions-Elements hinzugefügt. Markup zu einem Vertrag für "Auswahl für 'Datei öffnen'", der alle Dateitypen unterstützt sieht z. B. wie folgt aus:
<Extension Category="windows.filePicker" StartPage="filePicker.html">
<FileOpenPicker>
<SupportedFileTypes SupportsAnyFileType="true" />
</FileOpenPicker>
</Extension>
Reaktion auf das Aktivieren der App in einer Dateiauswahl
Fügen Sie dem activated-Ereignishandler Code hinzu, der testet, ob das an den Handler übergebene Objekt mit dem Vertrag verknüpft ist, den Sie im Manifest deklariert haben. Anschließend muss der Code die Ansicht für die Dateiauswahl der App anzeigen.
Jeder Vertrag ist mit einem Objekt verknüpft, das Informationen zu einem activated-Ereignis bereitstellt. Dieses Ereignis wird ausgelöst, wenn einer der Dienste, die von der App bereitgestellt werden, in einer Dateiauswahl aufgerufen wird.
Vertrag für "Auswahl für 'Datei öffnen'" – fileOpenPickerActivatedEventArgs
Vertrag für "Auswahl für 'Datei speichern'" – fileSavePickerActivatedEventArgs
Vertrag für die Aktualisierung zwischengespeicherter Dateien – cachedFileUpdaterActivatedEventArgs
Erstellen einer speziellen Ansicht der App, die in der Dateiauswahl angezeigt wird
Sie können mithilfe der Anleitungen in Richtlinien und Prüfliste für die Dateiauswahl die App-Ansicht erstellen, die in der Dateiauswahl angezeigt wird.
Die Ansicht sollte letztendlich Folgendes enthalten:
Code, der das Letterboxformat der Dateiauswahl entsprechend anpasst
Markup und Stile, die das Layout des gerahmten Bereichs der Dateiauswahl (in dem die Dateien angezeigt werden) definieren
Code, der die Datenquelle an das Markup bindet, sodass die Dateien im gerahmten Bereich angezeigt werden
Testen der von der App bereitgestellten Dienste in einer Dateiauswahl, die von einer anderen App aufgerufen wird
Um die Dienste zu testen, die von der App in einer Dateiauswahl bereitgestellt werden, müssen Sie das activated-Ereignis auslösen, das dem jeweiligen Dienst entspricht. Sie können das Ereignis nicht auslösen, indem Sie die Anwendung direkt ausführen.
Lösen Sie das entsprechende activated-Ereignis stattdessen mit den folgenden Schritten für jeden Vertrag aus.
So testen Sie die Teilnahme der App am Vertrag für "Auswahl für 'Datei öffnen'":
Starten Sie eine App, bei der es sich nicht um Ihre eigene App handelt.
Rufen Sie in der UI dieser App ein Dateiauswahlfenster auf, um auf Dateien zuzugreifen.
Wählen Sie in der Dateiauswahl Ihre App in der Liste mit den Orten aus, damit die App in der Dateiauswahl angezeigt wird.
So testen Sie die Teilnahme der App am Vertrag für "Auswahl für 'Datei speichern'":
Starten Sie eine App, bei der es sich nicht um Ihre eigene App handelt.
Rufen Sie in der UI dieser App ein Dateiauswahlfenster auf, um eine Datei zu speichern.
Wählen Sie in der Dateiauswahl Ihre App in der Liste mit den Orten aus, damit die App in der Dateiauswahl angezeigt wird.
So testen Sie die Teilnahme der App am Vertrag für die Aktualisierung zwischengespeicherter Dateien:
Starten Sie eine App, bei der es sich nicht um Ihre eigene App handelt.
Rufen Sie in der UI dieser App ein Dateiauswahlfenster auf, um auf eine Datei zuzugreifen oder eine Datei zu speichern, die Sie zum Aktualisieren markiert haben.
Zusammenfassung
Durch die Teilnahme an einem App-Vertrag kann die App Dienste für andere Apps bereitstellen. Damit die App an einem Vertrag teilnimmt, müssen Sie den Vertrag im App-Manifest deklarieren, auf das entsprechende activated-Ereignis reagieren und eine spezielle App-Ansicht erstellen.
Verwandte Themen
Zugreifen auf Daten und Dateien
Integration mit Verträgen für die Dateiauswahl
Verträge für die Dateiauswahl – Beispiel
Richtlinien und Prüfliste für die Dateiauswahl
Referenz
Windows.Storage.Pickers.Provider namespace
Windows.ApplicationModel.Activation.fileOpenPickerActivatedEventArgs class
Windows.ApplicationModel.Activation.fileSavePickerActivatedEventArgs class
Windows.ApplicationModel.Activation.cachedFileUpdaterActivatedEventArgs class
Verwenden der Dateiauswahl
Schnellstart: Dateizugriff mit Dateiauswahl
So wird's gemacht: Speichern von Dateien über die Dateiauswahl