Your TextBlock
is just that, a TextBlock
as framework element when you invoke it is just an object. So when you write <TextBlock Text="Blah Blah Blah"/>
that's literally all it is.
When you're using a ContentControl
you're actually invoking a templated control that will have multiple elements in its tree that are added for every instance. So example you're using;
<Style TargetType="ContentControl">
<Setter Property="Foreground" Value="#FF000000"/>
<Setter Property="HorizontalContentAlignment" Value="Left"/>
<Setter Property="VerticalContentAlignment" Value="Top"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ContentControl">
<ContentPresenter
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}"
Cursor="{TemplateBinding Cursor}"
Margin="{TemplateBinding Padding}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
So a short version to your answer would be Yes, TextBlock will perform better and is suggested to be used over templated controls like ContentControl
or Label
etc. wherever possible.
Hope this helps, cheers.