При использовании FileOpenPicker, как открыть экран "Выбор приложения", как в приложении OneDrive?

Новая программа выбора файлов Windows Phone 8.1 позволяет нам выбирать файл из любого места, но мы должны коснуться эллипса на панели инструментов средства выбора и затем "выбрать местоположение", чтобы иметь возможность перечислять файлы, как это делает новое приложение OneDrive по умолчанию.

Экран, о котором я говорю, называется "Выберите приложение", и в нем перечислены такие элементы, как "Фотографии" и "Телефон", которые являются собственными приложениями, зарегистрированными для средства выбора файлов.

Тот же экран, показанный здесь, когда парень нажимает кнопку "Выбрать файлы" https://www.youtube.com/watch?v=adR-lu8ZM6U

Я хочу открыть этот экран по умолчанию, а не эскиз. Изменение свойства FileOpenPicker ViewMode, похоже, не имеет никакого эффекта.

Мой код теперь просто так, я не устанавливаю ViewMode и не сейчас.

private void OpenFilePicker()
{
    FileOpenPicker openPicker = new FileOpenPicker();
    openPicker.FileTypeFilter.Add(".mp4");
    openPicker.FileTypeFilter.Add(".avi");

    App.ContinuationEventArgsChanged += OpenFile_ContinuationEventArgsChanged;

    openPicker.PickSingleFileAndContinue();
}


private async void OpenFile_ContinuationEventArgsChanged(object sender, IContinuationActivatedEventArgs e)
{
    App.ContinuationEventArgsChanged -= OpenFile_ContinuationEventArgsChanged;

    var openFileArgs = e as FileOpenPickerContinuationEventArgs;

    if (openFileArgs != null && openFileArgs.Files != null && openFileArgs.Files.Count > 0)
    {
        //do stuff with the file here
    }
}

Я предполагаю, что это должно быть проблемой (от http://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.pickers.fileopenpicker.suggestedstartlocation.aspx):

"Предлагаемое расположение Location не всегда используется в качестве начального местоположения для средства выбора файлов. Чтобы дать пользователю чувство согласованности, средство выбора файлов запоминает последнее местоположение, к которому пользователь перешел, и обычно запускается в этом месте".

Любое предложение? Спасибо

1 ответ

Проблема в том, что вы добавили типы файлов, которые зарезервированы системой, и это приводит к запуску средства выбора фотографий. Если вы делаете что-то подобное, оно должно работать так, как вам нравится:

openPicker.FileTypeFilter.Add("*");

Другого решения не существует.

Другие вопросы по тегам