禁用对已禁用文本框的验证
本文关键字:验证 文本 | 更新日期: 2023-09-27 18:37:19
我在 WPF 应用程序中进行了绑定验证,但现在由于某些规则,某些文本框被禁用,并且验证以相同的方式显示。有没有办法在禁用控件时禁用验证并在启用时重新打开它们?
禁用控件时,可以删除验证模板。
请注意,这不会阻止验证规则运行,这只会删除验证模板。
如果使用的是验证规则,则可以获取对该文本框的引用,并检查文本框是否已启用。
将以下内容放在文本框样式中:
<Trigger Property="IsEnabled"
Value="false">
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<ControlTemplate>
<DockPanel>
<Border BorderBrush="Gray"
BorderThickness="0">
<AdornedElementPlaceholder />
</Border>
</DockPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>