У меня есть TextBlock
стиль, как это:Могу ли я применить стиль WPF к элементу только в определенном макете?
<Style TargetType="TextBlock" x:Key="FormLabel">
<Setter Property="Height" Value="20" />
<Setter Property="Margin" Value="10" />
<Setter Property="TextAlignment" Value="Right" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
Я использую его в Grid
форм, основанных, например:
<TextBlock Text="Code" Grid.Row="1" Grid.Column="0" Style="{StaticResource FormLabel}" />
Теперь вместо того, чтобы повторять имя стиля на каждом TextBlock
в сетке, я бы предпочитают, например, имеет Grid
стиля, как:
<Style TargetType="Grid" x:Key="FormGrid">
<Setter Property="Width" Value="400" />
...
</Style>
Тогда я бы, если это возможно, хотел бы изменить свой стиль TextBlock
применить только к этому элементу, когда он является дочерним элементом Grid
со стилем FormGrid
.
Возможно ли это, и если да, то как я могу его достичь?
У вас может быть стиль TextBlock по умолчанию (без ключа x:) в ресурсах сетки. – Clemens
@Clemens Это именно то, что я сказал, что я не хочу. Я хочу стиль только для текстовых полей в 'FormGrid'. – ProfK