Просто установите TargetType="ContentControl"
на ControlTemplate:
<ContentControl>
<ContentControl.Content>
<TextBlock Text="Hello" />
</ContentControl.Content>
<ContentControl.Template>
<ControlTemplate TargetType="ContentControl"> <!-- here -->
<Border Background="Red">
<ContentPresenter />
</Border>
</ControlTemplate>
</ContentControl.Template>
</ContentControl>
Чтобы сделать его многоразовым, вы можете объявить стиль ContentControl следующим образом:
<Style TargetType="ContentControl" x:Key="RedBorderContentControlStyle">
<Setter Property="Background" Value="Red"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ContentControl">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<ContentPresenter
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
и использовать егокак это:
<ContentControl Style="{StaticResource RedBorderContentControlStyle}">
<TextBlock Text="Hello"/>
</ContentControl>