gpt4 book ai didi

WPF ErrorTemplate 未聚焦时可见?

转载 作者:行者123 更新时间:2023-12-01 00:06:32 25 4
gpt4 key购买 nike

我正在使用 WPF 验证进行 TextBox 验证。我已经定义了这个模板:

<Style x:Key="textBoxInError" TargetType="{x:Type TextBox}" BasedOn="{StaticResource StyleTextBox}">        
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip"
Value="{Binding RelativeSource={x:Static RelativeSource.Self},
Path=(Validation.Errors)[0].ErrorContent}"/>
<Setter Property="Background" Value="{StaticResource TextBox_ErrorBackgroundBrush}"/>
<Setter Property="BorderBrush" Value="{StaticResource TextBox_ErrorBorderBrush}"/>
<Setter Property="BorderThickness" Value="2"/>
</Trigger>
</Style.Triggers>
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<ControlTemplate>
<DockPanel>
<TextBlock DockPanel.Dock="Right" Foreground="Red" FontSize="20" Text="!"/>
<AdornedElementPlaceholder/>
</DockPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

TextBox 位于 TabItem 中的表单上。
一切正常,但“!”当我选择其他 TabItem 时,TextBlock 保持可见。在许多其他情况下会观察到这种行为 - 当扩展器展开等时。 Excklamation 始终在同一位置保持可见,尽管 TextBox 没有显示。

最佳答案

这就是我们所做的...

<Style x:Key="ErrorTemplate" TargetType="Control">
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<!--Set your error template in here-->
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsVisible" Value="false">
<Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
</Trigger>
</Style.Triggers>
</Style>

关于WPF ErrorTemplate 未聚焦时可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1194181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com