Пользовательский элемент управления и пользовательский элемент управления решают две совершенно разные проблемы.
UserControls предназначены для объединения нескольких элементов управления WPF, чтобы создать набор функций, созданный из других элементов управления.Это часто используется для составления части окна или экрана, чтобы организовать вашу разработку, позволяя группировать несколько частей функциональности в один «элемент управления».Например, если вы хотите создать элемент управления для редактирования пользователя, который предоставляет текстовые поля для имени и фамилии, возраста и т. Д., Один элемент UserControl может быть перетащен в окно и привязан к экземпляру пользователя для редактирования.(В этом случае вы используете стандартные элементы управления, такие как TextBox, для «создания» элемента управления для более сложной цели.)
Однако CustomControl должен быть новым единым элементом управления.Как правило, это будет замена встроенного элемента управления (который не может быть переделан с помощью шаблонов).Я обнаружил, что потребность в CustomControls на самом деле довольно редка в WPF, так как параметры шаблонов WPF и вложенные свойства позволяют вам делать почти все со стандартными элементами управления, как только вы изучите их полностью.