Style对象不能影响其应用对象的Style属性

本文关键字:Style 对象 属性 应用 影响 不能 | 更新日期: 2023-09-27 18:16:53

我有两种风格的

<Style x:Key="FontElemNivel1">
    <Setter Property="TextElement.FontSize" Value="12"/>
    <Setter Property="TextElement.FontFamily" Value="Tahoma"/>
    <Setter Property="TextElement.FontWeight" Value="Bold"/>
</Style>

这个

<Style x:Key="ElementoNivel1" TargetType="TextBlock">
    <Setter Property="Style" Value="{StaticResource FontElemNivel1}"/>
    <Setter Property="HorizontalAlignment" Value="Left"/>
</Style>

如果我试图在像这样的对象上使用第二个

<TextBlock Text="Entidad"  Style="{DynamicResource ElementoNivel1}"/>

编译器抛出此错误:

错误16 Style对象无法影响其应用对象的Style属性

为什么会发生这种情况?如何正确实施?

Style对象不能影响其应用对象的Style属性

<Style x:Key="ElementoNivel1" TargetType="TextBlock" BasedOn="{StaticResource FontElemNivel1}">

这样可以纠正错误。您尝试将样式分配给样式。

要使BasedOn工作,FontElemNivel1需要以文本块为目标。

如果因为FontElemNivel1需要用于文本块以外的其他内容而不适合,那么这个先前回答的问题可能会有所帮助:XAML组合样式