Windows Store App 文件選取器

使用文件選取器能夠訪問除上面介紹的「應用程序存儲」和「用戶庫」兩個位置以外的本地文件或者文件夾。文件選取器是應用與系統進行交互的一個接口,經過文件選取器能夠在應用中直接與文件系統進行交互,訪問不一樣位置的文件或將文件存儲在指定位置。spa

文件選取器包含文件打開選取器和文件保存選取器,文件打開選取器由FileOpenPicker類表示,用來選擇或打開文件,而文件保存選取器由FileSavePicker類表示,用來在保存文件時對文件的擴展名、存儲位置等進行選擇。這兩種選擇器的使用方法大體相同,因此下面以文件打開選取器爲例進行介紹。orm

在使用文件打開選取器的過程當中,經過設置文件打開選取器的屬性能夠自定義文件選取器的視圖模式、初始位置或文件類型集合。下面先來介紹一下文件打開選取器的幾個經常使用屬性。對象

q  ViewMode,獲取或設置文件打開選取器用來展現文件或文件夾的視圖模式。屬性的值由PickerViewMode枚舉指定,該枚舉包含兩個枚舉成員,ListThumbnailList表示列表模式,Thumbnail則表示縮略圖模式。接口

q  SuggestedStartLocation,獲取或者設置文件打開選取器顯示的初始位置。屬性的值由PickerViewMode枚舉指定,此枚舉有8個枚舉成員分別用來表示不一樣的位置,包括計算機、圖片庫等,這裏再也不一一列舉。圖片

q  FileTypeFilter,獲取文件打開選取器顯示的文件類型集合,這些文件類型能夠是「.doc」、「.png」等。ip

在瞭解了經常使用屬性以後,接下來給出一段建立文件打開選取器的示例代碼。ci

//建立文件選取器element

FileOpenPicker openPicker = new FileOpenPicker();it

//ViewMode屬性設爲Thumbnailio

openPicker.ViewMode = PickerViewMode.Thumbnail;

//將文件選取器打開文件的開始位置設置爲圖片庫

openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;

//設置選取器能夠選取的文件格式

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

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

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

代碼建立了一個FileOpenPicker類的對象openPicker做爲文件打開選取器,設置openPickerViewMode屬性的值爲PickerViewMode.Thumbnail,將視圖模式設定爲縮略圖模式,經過SuggestedStartLocation屬性將選擇器的初始位置定位在圖片庫,並使用FileTypeFilter屬性獲取選擇器顯示的文件類型集合,而後調用Add方法將須要使用的文件類型添加到集合中。

建立了文件打開選取器以後,就能夠經過文件打開選取器來選擇文件了。當須要選擇單個文件時,使用文件打開選取器的PickSingleFileAsync方法能夠實現。示例代碼以下所示:

Windows.Storage.StorageFile file = await openPicker.PickSingleFileAsync();

if (file != null)

{

    // 在頁面中顯示所選文件名稱

}

else

{

    //在頁面中提示用戶沒有文件返回

}

代碼在獲取到選定的文件file後,對file進行了判斷,若是file不爲空,則顯示文件的名稱,不然顯示「沒有文件返回」。

而當使用文件打開選取器選擇多個文件時,須要調用選取器的PickMultipleFilesAsync方法,示例代碼以下所示:

IReadOnlyList<Windows.Storage.StorageFile> files = await openPicker.PickMultipleFilesAsync();

if (files.Count > 0)

{

    // 顯示全部文件名稱

    foreach (Windows.Storage.StorageFile file in files)

    {

        //在頁面中顯示所選文件名稱

    }

}

else

{

    //在頁面中提示用戶「沒有文件返回」

}

代碼首先獲取選定的文件集合files,而後判斷集合files的元素個數是否大於0,若是大於0,依次顯示集合中全部文件的名稱,不然顯示提示信息「沒有文件返回」。

相關文章
相關標籤/搜索