I don't know who said it first on our team during construction of the first XAML based system...perhaps Mike Hillberg , but XAML's common use is to convert "strings to things"...our treatment of the strings in attribute values plays...
Rudi and his Attached Property Rudi considered the following options: binding to a collection, Application.Windows (but it was not an ObservableCollection) building a special subclass of Window, but that requires people to use a different item template...