WPF имеет 2 подхода к созданию собственных контролов: CustomControl'ы и UserControl'ы. В этой статье я попытаюсь привести список характеристик для каждого из подходов чтобы помочь Вам сделать правильный выбор для Вашего проекта.
UserControl - композиция
Это пример RGB контрола для отображения цвета. XAML код содержит композицию 3 текстовых полей и поля для отображения цвета. Вся логика работы контрола содержится в CS файле.
CustomControl - расширение существующих контролов
Пример контрола (для выбора числа) с кнопками вверх/вниз. Это расширение обычного текстового поля. Внешний вид может быть легко изменен, если понадобится, например, отображать кнопки слева.