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

问题描述

我有一个自定义文本框,其中包含控制模板和错误模板,如下所示。 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 (将#修改为@)