2012-06-13 2 views
-3

A -> BNavigate без потери данных

B + ---> A +

Есть в любом случае, чтобы перейти ко второму файлу .xaml и возвращение обратно без потери данных на первом из них, но нести данные из второго видят небольшое представление вверху.

+3

... какой? Что вы пробовали? –

+0

Бит широкий это - больше информации было бы хорошо – Charleh

+0

Я пытаюсь NavigationService.GoBack, но он просто не переносит данные из файла X XAML. Теперь я пытаюсь сохранить данные из A в массив, и когда пользователь вернется из B, чтобы перезагрузить их, но я считаю, что есть более простой ответ, чем тот, который я пытаюсь сделать. – Sonamor

ответ

3

Сохранить состояние, используйте ApplicationSettings, который сохраняется в IsolatedStorage и является тем, что вы будете использовать, если вам хотите, чтобы данные выживали, будучи надгробными. Или состояние может быть сохранено в transient state.

+0

Это то, что я искал заранее. – Sonamor

0

Используя Server.Urlcode (параметр) значение параметра является значением, в котором вы пишете специальные символы, как +, ->, &

Для Eg: Response.redirect("~/default2.aspx?data" +server.Urlcode(txtdata.text))

+0

У меня нет проблемы с возвратом данных из B в ИИ, у вас есть проблема с тем, чтобы те же данные были переданы в A, а затем передавали данные из B – Sonamor

0

так, как я хотел бы сделать это является объявить некоторые общие переменные в App.xaml.cs

public partial class App : Application 
{ 
    public var item; 

    ...  
} 

и относятся к ним как ((App) (App.Current)). пункт в любом из ваших страниц, таким образом, вы имеете доступ к переменной в разные страницы.

(некоторые разработчики могут передергивает при виде глобальных переменных, но эй, это работает)

+0

. Наконец я последовал за вашим ответом, но я знал, что он уже там. все еще задаваясь вопросом, есть ли другой способ перейти на другую страницу, не потеряв все данные на первом (без NavigateService.GoBack). – Sonamor

0

Все я наконец спасал ListBox в глобальной строке переменной и разделите значения запятыми, то чтение глобальной переменной streang и возврату данных в список.

сохранения данных в строку

//creating a string array 
     string[] scores = new string[lsScore.Items.Count]; 
     //filling the string array with the data from the listbox 
     lsScore.Items.CopyTo(scores, 0); 
     //filling a string with the joined values seperated by comma 
     string saveScores = string.Join(",", scores); 
     //saving the data to the global variable 
     saved.saveScores = saveScores; 

читает данные из строки

// creating a an array and split the values from the global variable based on the comma 
       string[] scores2 = saved.saveScores.Split(','); 
       //adding the data to the lsitbox 
       foreach (string str in scores2) 
        lsScore.Items.Add(str); 
Смежные вопросы