Вы создаете элемент управления, который наследуется от FramewrokElement (или Decorator, если вы хотите быструю реализацию и не заботитесь об использовании типа для чего-то, что он не должен делать), и создаете требуемый элемент управления как дочерний элемент вашего элемента управления, когда свойство зависимости установлено.