2013-04-10 97 views
0

我有一个风格的资源字典作为这样如果标签属性设置

<Style x:Key="heading" TargetType="Label"> 
    <Setter Property="FontSize" Value="26" /> 
</Style> 

,我希望向它分配给控制,如果一些触发 条件是如何从一个资源字典应用样式满足。例如

<Style TargetType="Label"> 
    <Style.Triggers> 

     <Trigger Property="Tag" Value="header" > 
      <Setter Property="FontSize" Value="26" /> 
     </Trigger> 

    </Style.Triggers> 
</Style> 

工作正常

<Style TargetType="Label"> 
    <Style.Triggers> 

     <Trigger Property="Tag" Value="header" > 
      <Setter Property="Style" Value="{StaticResource heading}" /> 
     </Trigger> 

    </Style.Triggers> 
</Style> 

给出了一个错误,一个样式触发器不能改变 相关的目标,其排序是有意义的,但有一个变通 这个样式属性?

回答

0

诀窍是把触发到资源字典而不是风格,像这样

<Style TargetType="Label"> 
    <Style.Triggers> 
     <StaticResource ResourceKey="headerTrigger"/> 
    </Style.Triggers> 
</Style> 

和定义触发在资源字典中,像这样

<Trigger x:Key="headerTrigger" Property="Label.Tag" Value="header" > 
    <Setter Property="Label.FontWeight" Value="Bold"/> 
    <Setter Property="Label.BorderBrush" Value="Red"/> 
    <Setter Property="Label.BorderThickness" Value="2"/> 
</Trigger> 
相关问题