Новый сборщик файлов Windows Phone 8.1 позволяет нам выбирать файл из любого места, но мы должны нажать эллипс на панели инструментов выбора, а затем "выбрать местоположение", чтобы иметь возможность отображать файлы, как это делает новое приложение OneDrive.
Экран, о котором я говорю, называется "Выбрать приложение", и перечисляет такие элементы, как "Фотографии" и "Телефон", которые являются родными приложениями, зарегистрированными для выбора файлов.
Тот же экран, показанный здесь, когда парень нажимает кнопку "Выбрать файлы" https://www.youtube.com/watch?v=adR-lu8ZM6U#t=19
Я хочу открыть этот экран по умолчанию, а не просмотр миниатюр. Изменение свойства FileOpenPicker ViewMode не имеет никакого эффекта.
Мой код теперь так же, как и я, я не устанавливаю ViewMode ни один из предлагаемыхStartLocation сейчас:
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.sposedstartlocation.aspx):
Msgstr "" "Рекомендуемое расположение не всегда используется в качестве начального местоположения для сборщика файлов. Чтобы дать пользователю ощущение согласованности, сборщик файлов запоминает последнее местоположение, к которому пользователь перешел, и обычно будет запускаться в этом месте."
Любое предложение? благодаря
Проблема в том, что вы добавили типы файлов, которые зарезервированы системой, и это вызывает запуск фотопикера. Если вы сделаете что-то подобное, оно должно работать так, как вам нравится:
openPicker.FileTypeFilter.Add("*");
Другого решения нет.