【发布时间】:2015-05-04 07:05:42
【问题描述】:
我在 WPF 窗口中有三个文本框,UpdateSourceTrigger="LostFocus"。 我还有一个验证类 (:ValidationRule),它根据我的条件返回 false 或 true,并保持简单:条件是检查字符串是否为空。
<TextBox x:Name="TestBox">
<TextBox.Text>
<Binding ElementName="This" Path="test"
UpdateSourceTrigger="LostFocus">
<Binding.ValidationRules>
<local:IPv4ValidationRule />
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
<TextBlock Margin="2" Foreground="Red" FontWeight="Bold"
Text="{Binding ElementName=TestBox,
Path=(Validation.Errors),
Converter={StaticResource eToMConverter}}" />
问题是: 如果您运行应用程序并浏览文本框,则不会在失去焦点时显示错误。我在代码中放了一个按钮来触发验证,没有显示错误。
只有在您输入文本框然后清除它时,验证才会起作用。
我该如何解决这个问题?因为在这种情况下,我无法确认是否有人将文本框留空,除非他输入然后删除。
【问题讨论】:
标签: wpf validation