Как передать объект из фрейма в другой фрейм в приложении в стиле 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;
}

Ответы на вопрос(2)

Ваш ответ на вопрос