FileOpenPicker Class

ユーザーがファイルを開いて選択できるようにする UI 要素を表します。

構文


var fileOpenPicker = new Windows.Storage.Pickers.FileOpenPicker();

属性

[Muse()]
[Version(0x06020000)]

メンバー

FileOpenPickerクラス には次の種類のメンバーがあります。

コンストラクター

FileOpenPickerクラス にはこれらのコンストラクターがあります。

コンストラクター説明
FileOpenPicker Creates a new instance of a FileOpenPicker.

 

メソッド

The FileOpenPicker クラス には次のメソッドがあります。 With C#、Visual Basic、および C++ では、以下からもメソッドが継承されます。Object クラス.

メソッド説明
PickMultipleFilesAsync Shows the file picker so that the user can pick multiple files.
PickSingleFileAsync Shows the file picker so that the user can pick one file.

 

プロパティ

FileOpenPickerクラス には次のプロパティがあります。

プロパティアクセスの種類説明

CommitButtonText

読み取り/書き込みGets or sets the label text of the file open picker's commit button.

FileTypeFilter

読み取り専用Gets the collection of file types that the file open picker displays.

SettingsIdentifier

読み取り/書き込みGets or sets the settings identifier associated with the state of the file open picker.

SuggestedStartLocation

読み取り/書き込みGets or sets the initial location where the file open picker looks for files to present to the user.

ViewMode

読み取り/書き込みGets or sets the view mode that the file open picker uses to display items.

 

解説

ファイル ピッカーでファイルおよびフォルダーへのアクセスを開始するには、「クイック スタート: ファイル ピッカーによるファイルへのアクセス」を参照してください。

重要  Windows 8 では、アプリケーションがスナップされている間にファイル ピッカーを表示しようとすると、ファイル ピッカーは表示されず、例外がスローされます。アプリケーションがスナップされないことを確認するか、ファイル ピッカーを呼び出す前にアプリケーションをスナップ解除すると、これを回避できます。 次のコード例およびファイル ピッカーのサンプルは方法を示します。Windows 8.1 では、スナップされたウィンドウの特定のサイズを定義しないことに注意してください。代わりに、ユーザーは、アプリケーションのサイズを任意の幅に (ただし最小値以上) 変更できます。このため、アプリケーションが Windows 8.1 に限って配置する場合は、このトピックのサンプル コードの EnsureUnsnapped 関数およびその関数への呼び出しを無視できます。

Windows Phone 8

この API は、ネイティブ アプリでのみサポートされます。

ファイル ピッカーのサンプルは、アプリケーションがスナップされたかどうかを確認し、ファイル ピッカーのプロパティを設定して、ユーザーが 1 つのファイルを選択できるようにファイル ピッカーを表示する方法を示します。


// Verify that we are currently not snapped, or that we can unsnap to open the picker
var currentState = Windows.UI.ViewManagement.ApplicationView.value;
if (currentState === Windows.UI.ViewManagement.ApplicationViewState.snapped &&
    !Windows.UI.ViewManagement.ApplicationView.tryUnsnap()) {
    // Fail silently if we can't unsnap
    return;
}

// Create the picker object and set options
var openPicker = new Windows.Storage.Pickers.FileOpenPicker();
openPicker.viewMode = Windows.Storage.Pickers.PickerViewMode.thumbnail;
openPicker.suggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.picturesLibrary;
// Users expect to have a filtered view of their folders depending on the scenario.
// For example, when choosing a documents folder, restrict the filetypes to documents for your application.
openPicker.fileTypeFilter.replaceAll([".png", ".jpg", ".jpeg"]);

// Open the picker for the user to pick a file
openPicker.pickSingleFileAsync().then(function (file) {
    if (file) {
        // Application now has read/write access to the picked file
        WinJS.log && WinJS.log("Picked photo: " + file.name, "sample", "status");
    } else {
        // The picker was dismissed with no selected file
        WinJS.log && WinJS.log("Operation cancelled.", "sample", "status");
    }
});


C# については、「ファイル ピッカーのサンプル」にはアプリケーションが EnsureUnsnapped メソッドにスナップするかどうかをチェックする方法が示されています。


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;
}


ファイル ピッカーのサンプルは、ユーザーが複数ファイルを選択できるようにファイル ピッカーを表示する方法を示します。

メモ  アプリケーションがスナップされていない (またはスナップを解除できる) ことを確認し、ユーザーが単一または複数のファイルを選択するかどうかにかかわらず、ファイル ピッカーのプロパティを設定する必要があります。


openPicker.pickMultipleFilesAsync().then(function (files) {
    if (files.size > 0) {
        // Application now has read/write access to the picked file(s)
        var outputString = "Picked files:\n";
        for (var i = 0; i < files.size; i++) {
            outputString = outputString + files[i].name + "\n";
        }
        WinJS.log && WinJS.log(outputString, "sample", "status");
    } else {
        // The picker was dismissed with no selected file
        WinJS.log && WinJS.log("Operation cancelled.", "sample", "status");
    }
});


また、Windows Phone でファイル選択ツールを使用することもできます。次に C++ の例を示します。Windows Phone では、FileOpenPicker はネイティブ アプリのみでサポートされます。


FileOpenPicker^ openPicker = ref new FileOpenPicker(); 
openPicker->ViewMode = PickerViewMode::Thumbnail; 
openPicker->SuggestedStartLocation = PickerLocationId::PicturesLibrary; 
openPicker->FileTypeFilter->Append("*"); 
   
create_task(openPicker->PickSingleFileAsync()).then([this](StorageFile^ file) 
{
    if (file) 
    { 
        m_PickedFileName = file->Name; 
    } 
    else 
    { 
        // Operation cancelled.
    } 
});


要件

最小限サポートされるクライアント

Windows 8 [Windows ストア アプリのみ]

最小限サポートされるサーバー

Windows Server 2012 [Windows ストア アプリのみ]

最小限サポートされる携帯電話

Windows Phone 8

名前空間

Windows.Storage.Pickers
Windows::Storage::Pickers [C++]

メタデータ

Windows.winmd

参照

ファイル ピッカーのサンプル
クイック スタート: ファイル ピッカーによるファイルへのアクセス

 

 

表示:
© 2014 Microsoft