Jak przekazać obiekt z ramki do innej ramki w aplikacji w stylu Windows 8

Mam problem, którego teraz nie mogę zrozumieć. Próbuję opracować aplikację w stylu Windows 8 i utknąć we wdrażaniu tej funkcji.

mamGłówne okno który zawiera ListBox i Button (powiedzmyaddButton).

Po kliknięciu przycisku przechodzę do nowej strony, powiedzmyAddCustomerPage z this.Frame.Navigate (typeof (AddCustomerPage));

AddCustomerPage ma 1 przycisk tekstowy i 1 przycisk (powiedzmydoneButton. Po kliknięciu przycisku chcę, aby ciąg w polu tekstowym został dodany do listy ListBox na poprzedniej stronie.

Oto moja obecna funkcjonalność: 1. Zostaje utworzone MainWindow.

Kliknij przycisk Dodaj

Zostanie utworzona strona AddCustomer. MainWindow jest zniszczony (problem).

Kliknij doneButton

Obiekt MainWindow jest tworzony za pomocą ListBox z 1 elementem.

Powtórz proces dodawania, zawsze otrzymuję MainWindow z ListBox z 1 elementem.

Dzięki za pomoc. Oto kod:

public sealed partial class MainPage : Page
{
    public MainPage()
    {
        this.InitializeComponent();

        this.brainPageController = new PageController();

        // add items from the List<String> 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<string>
        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<String, Object> pageState)
    {
    }
    protected override void SaveState(Dictionary<String, Object> 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;
}

questionAnswers(2)

yourAnswerToTheQuestion