I have a Silverlight Windows Phone 7 app with two pages. I want to pass some nontrivial state (an array or structs) between them. Do I have to follow a Web model where everythin
No you don't have to pass everything in a query string. Just pass an id and store the data non-trivial data in isolated storage between pages.
There is a series of articles on how to to do this here
You have a couple of options: