Макет (по умолчанию) и содержимое пользовательского элемента управления определяется ControlTemplate в generic.xaml. Поэтому вы должны поместить макет и содержимое в элемент ControlTemplate, который был сгенерирован для вас. (Обратите внимание, что ContentPresenter будет отображать контент, предоставленный пользователями вашего элемента управления: вам нужно только предоставить «контент», который является частью вашего шаблона, например, в флажке, ваш шаблон будет предоставлять небольшой квадрат, но пользовательский контент будет обеспечивать заголовок .)