SmartParts dans SCSF était juste une abstraction sur le concept simple de mettre un contrôle sur une surface (un autre contrôle essentiellement) en dynamique, mode d'exécution. Vous pouvez écrire vous-même ce type de couche d'abstraction, mais cela ne vous achèterait rien d'autre que de la complexité supplémentaire.
Je pense que l'élément important à cette composition tout était dynamique; vous pouvez composer votre vue à l'exécution en utilisant cette abstraction.
Mais vous pouvez toujours faire la même chose dans WPF. Tout ce dont vous avez besoin est un conteneur IoC (comme StructureMap) et un moyen sensé de composer des UserControls en vue. WPF vous fournit des conteneurs de mise en page (belles grilles, dockpanels, stackpanels) donc il n'y a vraiment pas besoin d'écrire plus Workspaces. Il vous suffit de ne pas coder en dur vos vues et de les composer au moment de l'exécution (ce qui est facile avec le conteneur IoC).