У меня есть окно с элементом управления Grid с четырьмя столбцами и четырьмя рядами. Он содержит следующее:
<Label Name="HeightLabel" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="2" Content="Height" Target="{Binding ElementName=HeightValue}"/>
<TextBox Name="HeightValue" Grid.Column="0" Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Top" TextAlignment="Center"/>
<Label Name="WeightLabel" Grid.Column="2" Grid.Row="0" Grid.ColumnSpan="2" Content="Weight" Target="{Binding ElementName=WeightValue}"/>
<TextBox Name="WeightValue" Grid.Column="2" Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Top" TextAlignment="Center"/>
<Label Name="WidthLabel" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="2" Content="Width" Target="{Binding ElementName=WidthValue}"/>
<TextBox Name="WidthValue" Grid.Column="0" Grid.Row="3" HorizontalAlignment="Stretch" VerticalAlignment="Top" TextAlignment="Center"/>
<Label Name="LengthLabel" Grid.Column="2" Grid.Row="2" Grid.ColumnSpan="2" Content="Length" Target="{Binding ElementName=LengthValue}"/>
<TextBox Name="LengthValue" Grid.Column="2" Grid.Row="3" HorizontalAlignment="Stretch" VerticalAlignment="Top" TextAlignment="Center"/>
со следующим стилем, примененным в Словаре ресурсов:
<Style TargetType="{x:Type Label}">
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Label}">
<Border>
<ContentPresenter TextBlock.FontSize="18"
TextBlock.Foreground="Red"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
RecognizesAccessKey="True"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Проблема в том, что стилируется только последний элемент управления меткой; остальные получают стиль TextBlock по умолчанию. Я знаю, что Label содержит встроенный TextBlock, который делает стилизацию более сложной, чем большинство других элементов управления, поэтому я подозреваю, что происходит какая-то проблема с иерархией, но я не могу это понять.