将样式添加到数据模板

时间:2010-07-01 14:49:54

标签: wpf

我有以下带触发器的数据模板:

    <DataTemplate.Triggers>
        <DataTrigger Binding="{Binding IsCalled}" Value="Yes">
            <Setter TargetName="labelNumber" Property="Background" Value="Green" />
            <Setter TargetName="labelNumber" Property="BorderThickness" Value="5" />
            <Setter TargetName="labelNumber" Property="BorderBrush" Value="Blue" />
        </DataTrigger>
        <DataTrigger Binding="{Binding IsCalled}" Value="JustCalled" >
            <Setter TargetName="labelNumber" Property="Background" Value="Pink" />
       </DataTrigger>
    </DataTemplate.Triggers>

</DataTemplate>

不是单独设置标签属性,而是要调用类似下面的样式:


                                                                                                                                                                                                                                                                                                                  

如何让数据模板使用上面的样式。

谢谢

1 个答案:

答案 0 :(得分:0)

你可以使用像

这样的setter
<Setter TargetName="labelNumber" Property="Style" Value="{StaticResource myLabelStyle1}" />

但是你需要确保你没有在labelNumber标签上本地设置任何属性,因为它们会覆盖任何样式设置。除了触发器中的那些外,您还需要另一个Style样式为其默认状态设置任何属性。

<Label Style="{StaticResource myDefaultLabelStateStyle}"/>