1

Я хочу создать страницу второго уровня, позволяющую пользователю выполнить обработку ранее сделанного изображения. Чтобы получить это изображение на стр. 2, я хочу передать это как какой-то параметр. Но единственный способ, который я видел, - добавить его в виде строки к URL-адресу, и это не кажется эффективным.Передача двоичных данных с помощью навигации по страницам на windows phone

Конечно, я знаю о сериализации, но взять Lima 1020 захвата в 38 мегапикселов: это почти 500MB RAM и хотя я OT уверен, что если строка может теоретически contian, что много данных, я, кажется, очень плохой стиль.

Итак, есть ли чистые способы передачи данных (чистым я имею в виду: передайте его как параметр, не используя, например, статические классы)?

+0

В некоторых ответах на подобные вопросы вы можете найти способ сделать это, расширив NavigationService - [как в этой статье] (http://www.kunal-chowdhury.com/2013/10/passing-object-to -wp-навигационно-service.html). – Romasz

ответ

1

Вы можете попробовать:

PhoneApplicationService.Current.State["yourparam"] = param 
NavigationService.Navigate(new Uri("/view/Page.xaml", UriKind.Relative)); 

и на другой странице мы можем получить его, как это.

var k = PhoneApplicationService.Current.State["yourparam"]; 

Ref. 1

0

Самый простой способ передачи данных между страницами, чтобы иметь статический класс или синглтон, который будет содержать данные, которые вы хотите быть доступны на всех ваших страницах.

Другой ответ, который предполагает использование государственного словаря, действителен, но это может быть не то, что вы хотите. Использование словаря состояния требует, чтобы ваши данные были сериализуемыми, а иногда это требует лишнего дополнительного кода. Кроме того, основное использование государственного словаря заключается в сохранении состояния приложения при его отправке на задний план или при его захоронении, поэтому он не предназначен для передачи параметров по страницам (Read more here)

 Смежные вопросы

  • Нет связанных вопросов^_^