C# 样式对象不能影响其应用对象的样式特性

C# 样式对象不能影响其应用对象的样式特性,c#,wpf,xaml,C#,Wpf,Xaml,我有两种款式 <Style x:Key="FontElemNivel1"> <Setter Property="TextElement.FontSize" Value="12"/> <Setter Property="TextElement.FontFamily" Value="Tahoma"/> <Setter Property="TextElement.FontWeight" Value="Bold"/> </St

我有两种款式

<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 x:Key="ElementoNivel1" TargetType="TextBlock" BasedOn="{StaticResource FontElemNivel1}">
这应该可以纠正错误。您试图将样式分配给样式。



这应该可以纠正错误。您试图将样式指定给样式。

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

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

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

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

这意味着
可以删除很多。谢谢你的帮助。这意味着
可以删除吗?需要很多。感谢您的帮助。这是Extange,我使用的是visual studio 2012,@Michael solution可以工作,即使我的
FontElemNivel1
不针对
TextBlock
这是Extange,我使用的是visual studio 2012,@Michael solution可以工作,即使我的
FontElemNivel1
不针对
TextBlock