Как передать объект из фрейма в другой фрейм в приложении в стиле Windows 8
У меня проблема, которую я просто не могу понять прямо сейчас. Я пытаюсь разработать приложение в стиле Windows-8, и я застрял в реализации этой функциональности.
у меня естьMainWindow который содержит ListBox и кнопку (скажем,AddButton).
Когда я нажимаю кнопку, я перехожу на новую страницу, скажем,AddCustomerPage with this.Frame.Navigate (typeof (AddCustomerPage));
AddCustomerPage имеет 1 текстовое поле и 1 кнопку (скажем,doneButton, Когда я нажимаю кнопку, я хочу, чтобы строка в textBox была добавлена в ListBox на предыдущей странице.
Это мой текущий функционал: 1. Главное окно создано.
Нажмите кнопку Добавить
Страница AddCustomer создана. Главное окно уничтожено (проблема).
Нажмите готовоКнопка
Объект MainWindow создается с помощью ListBox с 1 элементом.
Повторите процесс добавления, я всегда получаю MainWindow с ListBox с 1 элементом.
Спасибо за помощь. Вот код:
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
this.brainPageController = new PageController();
// add items from the List to the listBox
listGoals.ItemsSource = brainPageController.GetListGoals();
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
var parameter = e.Parameter as String;
// a simple controller that adds a string to a List
brainPageController.AddGoal(parameter);
}
private void addButton_Click(object sender, RoutedEventArgs e)
{
this.Frame.Navigate(typeof (GoalsInfo));
}
// VARIABLES DECLARATION
private PageController brainPageController;
}
public sealed partial class GoalsInfo : WinGoalsWIP.Common.LayoutAwarePage
{
public GoalsInfo()
{
this.InitializeComponent();
this.brainPageController = new PageController();
}
protected override void LoadState(Object navigationParameter, Dictionary pageState)
{
}
protected override void SaveState(Dictionary pageState)
{
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
brainPageController.AddGoal(nameTextBox.Text);
this.Frame.Navigate(typeof(MainPage), nameTextBox.Text);
}
// VARIABLES DECLARATION
PageController brainPageController;
}