Вот краткое описание каждого типа элементов управления, которые вы упомянули:
1.ItemsControl - обычно используется, когда вы хотите иметь элемент управления с такими элементами, как, например, ListBox, TreeView и т. Д. Одна из самых важных частей при выводе из ItemsControl - переопределение:
GetContainerForItemOverride
IsItemItsOwnContainerOverride
PrepareContainerForItemOverride
Вот пример:
http://www.silverlightshow.net/items/How-to-inherit-from-ItemsControl-and-create-a-UniformGrid-with-containers.aspx
Обратите внимание, что в примере не последняя версия Silverlight, но подробно объясняется, как реализовать пользовательский элемент управления.
2.Control - когда вы хотите реализовать простой элемент управления, который не имеет свойств Content или Items, например, TextBox, вы можете получить его из Control.
3.ContentControl - когда вам нужно поместить какой-либо контент в элемент управления. Как, например, кнопка Content. В зависимости от ваших потребностей, какой будет выбор базового класса.
Вы также можете взглянуть на остальные учебные пособия, которые предоставляет SilverlightShow, связанные с «как реализовать пользовательский элемент управления».
Я надеюсь, что это ответит на ваш вопрос.