将datatrigger样式绑定到内容绑定对象的属性

时间:2011-04-15 15:32:53

标签: wpf xaml binding styles datatrigger

我正在尝试执行以下操作。我有一个绑定到具有两个属性的对象的标签。一个我想要显示的,一个我想用于数据触发器。

这里我想出了什么:

 <Label Grid.Row="5" Content="{Binding ElementName=InformationUserControl, Path=Info.ObjectBound}">
        <Label.Style>
            <Style TargetType="{x:Type Label}">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding RelativeSource={RelativeSource self}, Path=Content.InterpretationValue}">
                        <DataTrigger.Value>
                            <enums:DataInterpretation>Neutral</enums:DataInterpretation>
                        </DataTrigger.Value>
                        <Setter Property="Background" Value="Red" />
                    </DataTrigger>
                </Style.Triggers>
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type Label}">
                            <TextBlock Text="{TemplateBinding Content.Value}" />
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </Label.Style>
    </Label>

问题是我的模板会覆盖默认模板,因此它什么都不显示。有没有办法让它发挥作用?

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为问题不是你重写模板但是绑定被破坏了,我会试试这个:

<TextBlock Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=Content.Value}" />