2016-11-02 2 views
-1

Я делаю приложение для редактирования фотографий, и у меня есть ImageEditor.xaml.cs. Как заставить эту страницу вести себя как FileOpenPicker, которая может возвращать значения в коллекцию после того, как FileOpenPicker будет сделан выбор нужных файлов? Или это невозможно? Если да, то как мне сделать Mainpage.xaml.cs перейти и ждать, пока ImageEditor.xaml.cs не отредактирует отредактированную фотографию, чтобы Mainpage получил значение?Подождите, пока страница вернет значение

ответ

1

Если да, то как я могу сделать Mainpage.xaml.cs перемещаться и ждать, пока ImageEditor.xaml.cs не вернет отредактированную фотографию, чтобы Mainpage могла получить значение?

Поскольку вы не указали, что используете какой-либо шаблон для разработки, я предполагаю, что вы используете стандартный UWP Apis.

Тогда, довольно простой способ сделать это - после получения отредактированного изображения, непосредственно перейдите к своему MainPage с этим изображением в качестве навигационного параметра, используя Frame.Navigate(TypeName, Object) method. После этого вы можете переопределить OnNavigatedTo из ваших MainPage так же, как это:

protected override async void OnNavigatedTo(NavigationEventArgs e) 
{ 
    //get e.Parameter 
} 

Для официальной демонстрации, вы можете обратиться к Pass information between pages.

Если вы использовали шаблон как Template 10 для разработки приложения UWP, тогда обычно у них есть свой собственный NavigationService и способ навигации, но обычно в этих методах может использоваться параметр navi.

Как заставить эту страницу вести себя как FileOpenPicker, которая может возвращать значения в коллекцию после того, как FileOpenPickeris выполнил выбор необходимых файлов?

В качестве дополнительной информации для этого случая, дело здесь получить результат другого экземпляра в том же процессе до навигации, это не совсем так FileOpenPicker, FileOpenPicker фактически использует систему брокера, чтобы разорвать песочницу UWP приложения , он получает результат от другого процесса. Во всяком случае, использование навигации с параметром уже может решить вашу проблему, я думаю.