微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用于验证的控制模板数据触发器不起作用

如何解决用于验证的控制模板数据触发器不起作用

我有一个自定义文本框,其中包含控制模板和错误模板,如下所示。 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 举报,一经查实,本站将立刻删除。