I'm creating a WP7 application using C#, and I require to pass data from one page to the other.

I found solutions on SO, but I'm still running into problems. 

On 'Page 1', I wish to display a list, that can be populated by the user, using input from 'Page 2'.

I used the following statement in 'Page 2' while navigating back to 'Page 1': `NavigationService.Navigate(new Uri("/MainPage.xaml?text="+WhoBox.Text, UriKind.Relative));`  

`WhoBox` is a Text Box.

On 'Page 1', I have the following:  

`protected override void OnNavigateTo(System.Windows.Navigation.NavigationEventArgs e)`  

`{`  

`base.OnNavigatedTo(e);`  

`if (NavigationContext.QueryString.ContainsKey("text"))`  

`ListBlock.Text = ListBlock.Text + NavigationContext.QueryString["text"];`  

`}`

Now, this works, but in a limited fashion. If I try adding something from 'Page 2' for a second time, it replaces what is present in `ListBlock` (which is a Text Block) with the newly added text instead of appending it.

Shouldn't `ListBlock.Text = ListBlock.Text + NavigationContext.QueryString["text"];` cause the new text to be appended, rather than to entirely replace the older text?

**EDIT: I may have found the solution.** For whatever reason, no changes in the XAML or .cs file are reflected when I run the program using F5. Am I doing something wrong? For example, even if I delete a button, it still appears when I Debug (F5) the program. Is there some setting I need to change? Or am I supposed to use some other command? I'm relatively new to Visual Studio, so please excuse me.