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;
}