0

Я создал две страницы Page1.xaml и Page2.xaml в приложениях Metro Windows8.Как переназначить значения в текстовое поле после перехода на обратную ссылку в приложениях для подключения к Windows8

Я создал одно текстовое поле и гиперссылку в Page1.xaml. Нажав эту кнопку гиперссылки после ввода некоторого текста в текстовое поле в Page1.xaml. Затем он перейдет к странице .2.amam. В Page2.xaml я собираюсь показать текст, который был введен в текстовое поле Page1.xaml.

Здесь, после перехода на страницу Page2.xaml, я нажимаю кнопку «Назад» для перехода на предыдущую страницу Page1.xaml. Здесь я хочу показать текст в текстовом поле, которое я ввел ранее.

Но при нажатии кнопки «Назад» появляется ошибка.

Не могли бы вы предоставить мне решение для отображения текста в TextBox из Page1.xaml

Заранее спасибо

ответ

0

Один из способов сделать код доступен в различных областях сценария является использование имен WinJS.

Например, в page1.js, вы бы:

(function(){ 
    function setText(){ 
     var mytext = ""; 

     WinJS.Namespace.define("page1", { 
      text: mytext 
     }); 
    } 
})(); 

в page2.js, вы бы поместить текст в этом пространстве имен:

(function(){ 

    page1.text = "page 2 text!"; 

})(); 

Назад в страницу 1, вы можете получить это значение позже:

(function(){ 

    function setText(){ 
     var mytext = ""; 

     WinJS.Namespace.define("page1", { 
      text: mytext 
     }); 
    } 

    function getText() { 
     document.querySelector("#myTextField").value = page1.text; 
    } 
})(); 

Я предлагаю быть немного более формальным о том, что вы положили в пространствах имен, но это один из способов сделать это.

+0

Не могли бы вы предоставить решение в C#. Thnks. –

+0

В XAML/C# это стандартная модель. Создайте для каждой страницы один экземпляр модели представления и привяжите ее к одному и тому же свойству. Или, если вы действительно ленивы, создайте статическую переменную. :) –