WPF: Custom Control VS User Control
There are two concepts in WPF projects which are quite confusing: User Control and Custom Control. Which are available through [Add a new item] menu:
The best description which I found on the web is on the Martins blog:
It seems to have collection of controls which provide a combined functionality User Control is the way to go, but if you want to create a new button control or text box with new behavior you need to look at custom control.
1. The purpose of it is to enhance the existing control,
2. It supports theming for consumers, which means the consumers can style it in whatever way they like,
3. It is perfect to be 3rd-party control, especially because of point 2.
Whereas User Control
1. Its purpose is to compose controls into one piece,
2. It does not support theming for consumers. Therefore, the consumers can not restyle it,
3. It better stay with the consumer application in case the consumer needs to change its style somehow.