Windows Phone 7 April CTP and TransitioningContentControl
- Posted: May 20, 2010 at 1:36 PM
- 7,643 Views
Right click “Save as…”
In my original screencast (my blog or on here on Channel 9), I showed you how to use the Silverlight Toolkit’s TransitioningContentControl to add automatic transitions between pages of your Windows Phone 7 Silverlight application. A few days after recording and posting that screencast, Microsoft released an updated version of the tools and the emulator. Soon after, I started to get reports from folks watching my screencast that the TransitioningContentControl not only didn’t work with the April CTP release, but it prevented their entire application from running.
Bummer! I started to dig into it, and it “appears” that the TransitioningContentControl is suffering from the bug talked about here. I say it “appears” to be related to that because the symptoms are the same, but unfortunately, the provided fix does not work on the System.Windows.Controls.Layout.Toolkit assembly that is created by building the Silverlight Toolkit. I think it has something to do with the fact that the System.Windows.Controls.Layout.Toolkit project uses the output of several other projects, which are probably signed as well. I am not sure how that propagates into the final assembly, but the Powershell script does not fix things.
To solve the problem, I just went “brute force” and added the necessary source files from the TransitioningContentControl project to my own project and called it good. A better step would have been to break that source out into its own project and create an unsigned assembly containing just the TCC that I could then reuse between Windows Phone projects, but I am assuming at this point that whatever the bug is (signed assembly or other), will be fixed in a future release. In the interim, this get the job done.
Watch the short video (5 minutes) to see how to get things set up. Skip to the 2:30 mark if you want to get right to the step required to add TCC directly to your project.Download source here