Update: Wes writes in the comments:
Microsoft has foreseen versioning issues with XAML. The XAML parser does allow custom mappings between names of elements and attributes to their corresponding .NET types and properties, so that is not really an issue.This would seem to allow a developer to map a version 1.0 document's class names and properties to a version 2.0 implementation's classes and properties. Good news. The original concern is still there: that XAML embeds the implementation at all is a stronger bind to dotnet than XML generally should have. But that's a business decision, not a technical one. At least within versioning dotnet applications, using XAML as a "document" should have an upgrade path for document versions.
I am not sure about the wisdom of using XAML as a "document" format. As I wondered previously, wouldn't this embed in a "document" essentially the classes, instances, methods, and properties of the *implementation*?
Can someone explain how this isn't so? Or explain why this is a good thing for a document format?
Surely implementations should be able to change without having to upgrade their documents!