Creating a WP7 application with a Panorama page is fairly simple.  Teaching it to do tricks is another thing altogether.  As with most development controls the key is to learn the event model along with the object model.

Knowing what manipulation means, when it happens and what the different levels it occurs at can be a great benefit.  This was the case when I wanted to make sure that a particular item was updated before the user got to a particular PanoramaItem.

The visibility of a PanoramaItem does not change when you navigate away from it and so far I am still looking for how to determine which one is being viewed by the user.  My work around was to utilize the ManipulationCompleted event of each PanoramaItem to update the isolated storage and the PanoramItem that contains the summary of the other items.  This won’t work for all situations, but it is effective for my purposes because it happens on each item individually.

private void PanoramaItem1_ManipulationCompleted(object sender, ManipulationCompletedEventArgs e)
{
//TODO: Something meaningful here
}

private void PanoramaItem2_ManipulationCompleted(object sender, ManipulationCompletedEventArgs e)
{
//TODO: Something meaningful here too
}

Given that this solution still leaves some control to be desired look forward to more posts on the subject.