Share via


快速入門:與檔案選擇器協定整合(Windows 執行階段應用程式)

[ 本文的目標對象是撰寫 Windows 執行階段 App 的 Windows 8.x 和 Windows Phone 8.x 開發人員。如果您正在開發適用於 Windows 10 的 App,請參閱 最新文件 ]

透過將您的應用程式與檔案開啟選擇器合約、檔案儲存選擇器協定或快取檔案更新程式協定整合,即可使用檔案選擇案器來存取應用程式的內容、儲存位置或檔案更新。

先決條件

決定您的應用程式將要從檔案選擇器視窗提供哪些服務

您的應用程式與關聯的應用程式協定整合後,就可以對其他應用程式提供下列服務。如果要參與協定,您必須在您應用程式資訊清單中宣告協定、回應對應的啟動事件,並建立專門的應用程式檢視。

提供檔案存取

如果您的應用程式對於某些檔案有獨特和/或有用的檢視方式,或是如果使用者不易使用其他方式存取這些檔案,請透過檔案選擇器提供檔案。

應用程式協定:檔案開啟選擇器合約

啟動的事件資訊:fileOpenPickerActivatedEventArgs

提供儲存位置

如果您預期使用者想儲存檔案,以便之後在您的應用程式中開啟和使用這些檔案,請透過檔案選擇器提供儲存位置。

應用程式協定:檔案儲存選擇器協定

啟動的事件資訊:fileSavePickerActivatedEventArgs

為檔案提供即時更新

如果您預期使用者會將您的應用程式當做作中央存放庫 (存放您的應用程式提供的檔案,或使用您的應用程式做為儲存位置而儲存的檔案),請透過檔案選擇器追蹤與更新檔案。

應用程式協定:快取檔案更新程式協定

啟動的事件資訊:cachedFileUpdaterActivatedEventArgs

請參閱使用檔案選擇器存取檔案,深入了解您應用程式可以透過檔案選擇器提供的服務。

在應用程式資訊清單中宣告協定

在 Microsoft Visual Studio 中開啟您的專案,然後按照下列步驟,將應用程式協定新增到您的資訊清單:

  1. 顯示專案的 [加入新項目] 視窗,從中央窗格中選取協定,然後按一下 [加入]**** 按鈕,新增應用程式協定。

    您可以使用數種方式來顯示 Visual Studio 中的 [加入新項目] 視窗:

    • 依序選取 [專案]**** > [加入新項目...] 功能表選項
    • 從專案的內容功能表上依序選取 [加入]**** > [新增項目...] 功能表選項
    • 使用 Crtl+Shift+A 鍵盤快速鍵

    秘訣  當您加入這些協定時,Visual Studio 會自動更新您的 "package.appmanifest" 資訊清單檔案,並將檔案加入專案,您將使用這些檔案來定義檢視的配置和行為,當呼叫您的應用程式服務時,這個檢視就會裝載到檔案選擇器視窗中。

     

  2. 如果協定的預設設定不適用於您的應用程式,請在 Visual Studio 中自訂協定的設定。

    1. 開啟 "package.appmanifest"。

    2. 開啟 [宣告] 索引標籤。

    3. 從 [支援的宣告]**** 清單中選取您的協定名稱。

    4. 新增特定檔案類型的支援。

      在 [支援的檔案類型] 方塊中,取消核取 [SupportsAnyFileType] **** 核取方塊。

      按照下列步驟,為想要支援的每個檔案類型加入新的 FileType 欄位:

      1. 按一下 [加入新的] 按鈕。
      2. 將想要支援的檔案類型的副檔名輸入 FileType 欄位,就像這樣:*.ext

      秘訣  僅加入與您應用程式、使用者及協定直接相關的檔案類型。以這種方式限制檔案類型,可以讓您的檔案選擇器檢視簡潔、易於使用。

       

    按照之前的步驟執行,然後針對想要移除的檔案類型按一下 [移除] 按鈕,也可以移除對該檔案類型的支援。[移除]**** 按鈕就在 FileType 欄位的正上方。

您的資訊清單已經根據新加入的協定標記進行更新。代表您加入之協定的元素,已插入到資訊清單 XML 標記中,當作 Extensions 元素的子項。例如,支援所有檔案類型的「檔案開啟選擇器」協定的標記看起來就像這樣:


  <Extension Category="windows.filePicker" StartPage="filePicker.html">
    <FileOpenPicker>
      <SupportedFileTypes SupportsAnyFileType="true" />
    </FileOpenPicker>
  </Extension>

當檔案選擇器啟動您的應用程式時會產生回應

將程式碼新增到啟動的事件處理常式,測試傳遞到處理常式的物件,是與在資訊清單中宣告的協定相關聯,接著顯示應用程式的檔案選擇器檢視。

每個協定都與提供啟動事件資訊的物件相關聯,當從檔案選擇器呼叫您應用程式提供的其中一項服務時,會引發啟動事件。

「檔案開啟選擇器」協定 - fileOpenPickerActivatedEventArgs

「檔案儲存選擇器」協定 - fileSavePickerActivatedEventArgs

「快取檔案更新程式」協定 - cachedFileUpdaterActivatedEventArgs

建立要裝載在檔案選擇器上的應用程式專用檢視

檔案選擇器的指導方針和檢查清單中的指導原則,應可協助您設計將裝載在檔案選擇器中的應用程式檢視。

最後,您的檢視應包含:

  • 適當地自訂檔案選擇器上下黑邊的程式碼

  • 定義檔案選擇器框架區域 (顯示檔案的位置) 之配置的標記和樣式

  • 將您的資料來源繫結到標記,使檔案顯示在框架區域的程式碼

使用另一個應用程式呼叫的檔案選擇器測試您應用程式提供的服務

如果要從檔案選擇器測試您應用程式提供的服務,您必須觸發與應用程式提供的服務相對應的啟動事件。直接執行應用程式是不能觸發這個事件的。

而是,按照下列步驟,為每個協定觸發相對應的啟動事件。

如果要測試您的應用程式是否參與「檔案開啟選擇器」協定:

  1. 啟動不是您自己的應用程式。

  2. 使用其他應用程式的 UI,呼叫檔案選擇器視窗來存取檔案。

  3. 在檔案選擇器的位置清單中選取您的應用程式,以檢視檔案選擇器中裝載之您的應用程式。

如果要測試您的應用程式是否參與「檔案儲存選擇器」協定:

  1. 啟動不是您自己的應用程式。

  2. 使用其他應用程式的 UI,呼叫檔案選擇器視窗來儲存檔案。

  3. 在檔案選擇器的位置清單中選取您的應用程式,以檢視檔案選擇器中裝載之您的應用程式。

如果要測試您的應用程式是否參與「快取檔案更新程式」協定:

  1. 啟動不是您自己的應用程式。

  2. 使用其他應用程式的 UI,呼叫檔案選擇器視窗,存取或儲存已標示為要更新的檔案。

摘要

您的應用程式參與應用程式協定後,就可以對其他應用程式提供服務。如果要參與協定,您必須在您應用程式資訊清單中宣告協定、回應對應的啟動事件,並建立專門的應用程式檢視。

相關主題

存取資料和檔案

與檔案選擇器協定整合

檔案選擇器協定範例

檔案選擇器協定的指導方針和檢查清單

如何啟用應用程式

Windows 應用程式協定

參考

Windows.Storage.Pickers.Provider namespace

Windows.ApplicationModel.Activation.fileOpenPickerActivatedEventArgs class

Windows.ApplicationModel.Activation.fileSavePickerActivatedEventArgs class

Windows.ApplicationModel.Activation.cachedFileUpdaterActivatedEventArgs class

使用檔案選擇器

快速入門:使用檔案選擇器存取檔案

如何透過檔案選擇器儲存檔案

檔案選擇器的指導方針和檢查清單