[WPF] ContentControl.HasContent: ridondante?
Ogni controllo WPF che eredita da ContentControl ha un proprietà HasContent di tipo boolean che restituisce True se il controllo ha un contenuto o, al contrario, restituisce False.
If (contCtrl.HasContent = True) Then
contCtrl.Content = "Has content"
End If
La stessa cosa possiamo ottenerla testando che la proprietà Content sia Nothing.
A prima vista, quindi, viene facile pensare che l'informazione restituita sia ridondante...ma non è così. 
Guardando la proprietà in "chiave" XAML, essendo una DependencyProperty, questa può essere utilizzata in qualsiasi Trigger e quindi, a seconda del contenuto, far scattare qualcosa.
<Window x:Class="Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="WindowsApplication1" Height="300" Width="300"
>
<Window.Resources>
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="HasContent" Value="False">
<Setter Property="Background" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
<StackPanel>
<Button Height="30" Name="Button1" VerticalAlignment="Top">Button</Button>
<Button Height="30" Name="Button2" VerticalAlignment="Top"/>
</StackPanel>
</Window>
Nell'esempio si vede come, il button con il Content ha il background di default mentre, il secondo prende il backgroung rosso.
Conclusioni: ContentControl.HasContent ridondante? NO...benvenuti in WPF 