2015-03-05 5 views
0

Я ищу простой способ возврата данных из формы. Я пытаюсь заполнить текстовое поле на Форма 1 с данными, которые были возвращены с Форма 2. Это код, который используется для перехода к форме 2:Возврат данных на предыдущую страницу Windows Phone 8.1 Windows RunTime

this.Frame.Navigate(typeof(form 2)); 

И я знаю, что вы можете передать параметр обратно в виде 1, используя этот метод, но при нажатии назад он будет идти к форме 2, который не идеален, так как я хочу, чтобы он вернулся к форме 0.

Вы можете вернуть данные с помощью этого или что-то подобное:

Frame.GoBack(); 

Кроме того, единственные способы передачи данных между страницами:

пройти обработчик на предыдущую страницу, так что вы можете доступ к общедоступным переменным/свойствам из текущей страницы,

использовать статическую переменную/свойство - возможно, однотонный

снова использовать файлы/настройки

Как сказано в Passing Data from Page to Page for Windows Phone 8.1

ответ

1

Есть причина, почему вы не хотели бы использовать вариант номер 2 в списке вы упомянули - хранить его в простой статическое свойство ? Это, безусловно, быстрое решение.

Другой вариант, если вы используете MVVM и библиотеку, такую ​​как MVVM Light, должен был бы отправить значение из ViewModel, подключенного к форме 2, в ViewModel, подключенную к форме 1, с помощью мессенджера.

Подписавшаяся:

Messenger.Default.Register<TypeOfMessageYouWantToSend>(this, MethodWhichHandlesTheReceivedValue); 

И отправки:

Messenger.Default.Send<TypeOfMessageYouWantToSend>(msg); 

Вы можете отправить его при перемещении назад, или даже в то время как форма заселяется и т.д.

+0

Что сказал Igrali :) – Depechie

+0

Я просто надеялся :) Большое спасибо! –

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