しっぽを追いかけて

ぐるぐるしながら考えています

Unity と猫の話題が中心   掲載内容は個人の私見であり、所属組織の見解ではありません

UWP で指定フォルダを開く

ロゴ画像を出力したら出力先フォルダを開きたくなるもの・・・

というわけで Windows 10 UWP で追加された指定フォルダを開く API をさっそく試してみます


/// <summary>
/// Export button click event handler
/// </summary>
/// <param name="sender">event sender</param>
/// <param name="e">event arguments</param>
private async void OnExportButtonClicked(object sender, RoutedEventArgs e)
{
    var folderPicker = new FolderPicker
    {
        FileTypeFilter = { "*" },
        CommitButtonText = "出力先に決定",
        ViewMode = PickerViewMode.List,
        SuggestedStartLocation = PickerLocationId.DocumentsLibrary,
    };
    var folder = await folderPicker.PickSingleFolderAsync();
    var project = UnityContainerHelper.TryResolve<IProjectRepository>(App.Current.Container);
    if (folder == null || project == null)
    {
        return;
    }

    this.ViewModel.IsBusy = true;

    ~ 中略 ~

    this.ViewModel.IsBusy = false;

    var openExportFolder = new UICommand("出力先フォルダを開く", async (args) =>
    {
        await Launcher.LaunchFolderAsync(folder);
    });
    await new MessageDialog("ロゴ画像の出力が完了しました")
    {
        Options = MessageDialogOptions.AcceptUserInputAfterDelay,
        Commands =
        {
            openExportFolder,
            new UICommand("閉じる"),
        },
        DefaultCommandIndex = 0,
        CancelCommandIndex = 1,

    }.ShowAsync();
}

あっけないほどかんたん!

await Launcher.LaunchFolderAsync(folder);

上記の記述だけでよさそうです・・・動かしてみます

f:id:matatabi_ux:20151004214107g:plain

Windows 8.1 のストアアプリではできなかったのに UWP ではすんなりできるようになってました