我在WPF应用程序中进行了绑定验证,但现在由于某些规则,某些文本框被禁用,验证显示方式相同。有没有办法在禁用控件时禁用验证,并在启用时重新打开它们?
答案 0 :(得分:0)
您可以在禁用控件时删除验证模板。
注意,这并不妨碍验证规则的运行,这只会删除验证模板。
如果您使用的是ValidationRule,则可以获取对文本框的引用,并检查文本框是否已启用。
将以下内容放在文本框样式中:
<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>