Update:
This is a little late but a better workaround was posted on http://silverlightrocks.com/cs/blogs/silverlight_games_101/default.aspx
However, for some reason, I can now longer find the post.
Basically, instead of using creating the Storyboard from XAML, create the StoryBoard in code and using the SetValue method to set the Name Property
StoryBoard animation = new StoryBoard();
animation.SetValue<string>(StoryBoard.NameProperty, "myAnim");
One of the breaking changes in the Silverlight 1.1 Refresh deals with Canvas.Resources
Elements in <*.Resource> blocks must be named
Elements in <*.Resource> blocks must be named.
This means you have to have an x:Name property for all content in a <*.Resources> section.
For example:
| Previous: XAML <Canvas.Resources> <Storyboard> <!-- Content here... --> </Storyboard> </Canvas.Resources> | Current: XAML <Canvas.Resources> <Storyboard x:Name="name"> <!-- Content here... --> </Storyboard> </Canvas.Resources> |
Here is the "REAL" breaking change.
Canvas.Resource will no longer accept a Storyboard without a value in the x:Name Property.
If you are constructing a Storyboard in Managed Code using the Storyboard constructor, you will get this RunTime Error on adding the Storyboard to Canvas.Resource
"Exception from HRESULT: 0x800F0901"
You can't assign the x:Name property from code. But there is a workaround using XamlReader.Load();
The xaml string that you use to initialize the Storyboard must include the following namespaces or XamlReader will not load the string.
xmlns='http://schemas.microsoft.com/client/2007'
xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
It's a pain but at least there is a workaround.