如何解决用于验证的控制模板数据触发器不起作用
我有一个自定义文本框,其中包含控制模板和错误模板,如下所示。 Validation.HasError上的Data触发器未触发,并且边框颜色也没有相应更改。是从控制模板访问Validation.HasError的正确方法。
<Style targettype="{x:Type local:CustomTextBox}">
<Style.Setters >
<Setter Property="Template">
<Setter.Value>
<ControlTemplate targettype="{x:Type local:CustomTextBox}">
<Border Name="textBoxborder" BorderBrush="LightGray" BorderThickness="2" CornerRadius="4">
<ScrollViewer x:Name="PART_ContentHost"/>
</Border>
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self},Path=Validation.HasError}" Value="True">
<Setter TargetName="textBoxborder" Property="BorderBrush" Value="Red" />
</DataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<ControlTemplate>
<StackPanel>
<AdornedElementPlaceholder x:Name="textBox">
<Button Background="Red" Content="!" HorizontalAlignment="Right" ToolTip="{Binding [0].ErrorContent}" Width="20" />
</AdornedElementPlaceholder>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style.Setters>
</Style>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。