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

时间:2014-08-06 21:01:01

标签: 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"/>
</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属性。

为什么会这样? 如何正确实施?

2 个答案:

答案 0 :(得分:3)

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

这应该纠正错误。您尝试将样式指定为样式。

答案 1 :(得分:1)

对于BasedOn工作,FontElemNivel1将需要定位Textblock。

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