我有一个使用INotifyDataErrorInfo接口的用户控件,当出现错误时它会变成红色,在此用户控件中,我放置了一个TextBlock,并且以下DataTrigger似乎不起作用:
<TextBlock Text="{Binding DurationText}"
Grid.Row="1">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=ActivityUserControl, Path=(Validation.HasError)}"
Value="True">
<Setter Property="Foreground"
Value="White">
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
我确保用户控件的x:Name正确(ActivityUserControl),当用户控件出错时,用户控件本身变成红色,但TextBlock的DataTrigger不起作用(文本保持黑色)。
您应将Value
的DataTrigger
设置为开头: