2016-04-05 6 views
0

Мне нужно передать простой текстовый ящик между тремя страницами в Windows Phone 8. Я искал, но я не нашел его, я попробовал это, 'https://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh771188.aspx' У меня проблема в этом метод:Передача информации между страницами в Windows Phone 8

private void navigationHelper_LoadState(object sender, LoadStateEventArgs e) 

{ 

    string name = e.NavigationParameter as string; 

    if (!string.IsNullOrWhiteSpace(name)) 
    { 
     tb1.Text = "Hello, " + name; 
    } 
    else 
    { 
     tb1.Text = "Name is required. Go back and enter a name."; 
    } 
} 

Я не могу найти LoadStateEventArgs e, не имея указаний по использованию или монтажу.

+0

Что вы используете? проблема с этим методом? Вы получаете какое-то исключение? Вы должны быть более конкретными в своей проблеме. –

+0

Когда я пишу метод, визуальная студия говорит, что я не могу найти имя пространства имен LoadStateEventArgs e –

+0

Вы пишете приложение Windows 8 или Windows 8.1? Visual Studio 2012 или 2013 ?? –

ответ

0

Если я правильно понял вашу проблему, вам нужно сохранить значение в текстовом поле на 3 разных страницах. Правильно ?

Проверить и дайте мне знать

// let's assume that you have a simple class: 
    public class PassedData 
    { 
     public string Name { get; set; } //for textBox1 
     public string Name1 { get; set; } //for textBox2 
     public string Name3 { get; set; } //for textBox3 
     public string Name4 { get; set; } //for textBox4 
     public string Name5 { get; set; } //for textBox5 
     public int Value { get; set; } 
    } 

//create object of the class like this and asign values to the properties 

PassedData abc=new PassedData(); 
abc.Name=TextBox1.Text; 
abc.Name2=TextBox2.Text; 
abc.Name3=TextBox3.Text; 
abc.Value=TextBox4.Text.ToString(); 
    // then you navigate like this: 
    Frame.Navigate(typeof(Page2), abc); 

    // and in target Page you retrive the information: 
    protected override void OnNavigatedTo(NavigationEventArgs e) 
    { 
     PassedData data = e.Parameter as PassedData; 
    } 
+0

о да, дайте мне посмотреть –

+0

есть проблема, это решение я не могу применить к Windows Phone 8.1, но да для окон телефон 7 –

+0

я не могу найти навигационное устройство –

0

Я бы не слишком большое внимание на данные, вы передаете, а на модели данных, которая является основой вашего приложения. Должен быть класс модели данных, содержащий текстовый контент, который вы хотите сохранить. Экземпляр этого класса должен «выжить» на любой странице, поэтому, если у вас есть одна страница, которая пишет это свойство, тогда вы можете иметь другую страницу, отображающую значение этого поля. Вы также должны рассмотреть возможность создания модели представления для каждой страницы, которая служит в качестве кода клея для передачи значения свойства между моделью и страницей, а также может помочь, если у вас есть преобразование типов, проверка данных, обязательные поля и т. Д.

+0

танки, позвольте мне попробовать –

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