SmartParts в SCSF - это просто абстракция над простой концепцией размещения элемента управления на поверхности (по сути, другого элемента управления) в динамическом режиме исполнения. Вы можете написать такой слой абстракции самостоятельно, но на самом деле он ничего не купит, кроме дополнительной сложности.
Я думаю, что важной частью всей этой вещи была динамическая композиция; Вы можете составить свое представление во время выполнения, используя эту абстракцию.
Но вы все равно можете сделать то же самое в WPF. Все, что вам нужно, это контейнер IoC (например, StructureMap) и разумный способ для создания пользовательских элементов управления в представлениях. WPF предоставляет вам несколько хороших контейнеров макетов (сетки, док-панели, стековые панели), поэтому вам больше не нужно писать рабочие пространства. Вам просто не нужно жестко кодировать свои представления и вместо этого составлять их во время выполнения (что легко с контейнером IoC).