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