我在WPF中遇到验证问题 我有一个用户控件,它有几个文本框,绑定到datamodel 验证是使用IDataErrorInfo实现的。
我希望仅在用户按下“提交数据”按钮时才会触发验证,因此我使用UpdateSourceTrigger="Explicit"
绑定了所有这些文本框。
一切正常,只有当用户按下按钮时才会触发验证,我会更新数据源。
但是可以隐藏或显示该用户控件,当我将可见性从显示/更改为隐藏然后再返回显示时,将触发验证。
有没有办法控制该阶段的验证?
答案 0 :(得分:0)
这是我正在使用的代码
绑定到文本框
<TextBox
AutomationProperties.AutomationId="StreetNameTextBoxId"
Height="20" Margin="0,0,5,0" FontSize="12" Name="_streetNameText"
AcceptsReturn="False" AcceptsTab="False" Focusable="True"
Text="{Binding ElementName=_this, Path=SearchParameters.EnteredAddress, UpdateSourceTrigger=Explicit}">
执行验证和搜索的代码(与单击“搜索”按钮相关联)
private void ExecuteSearch() {
_streetNameText.UpdateDataSource();
if (ViewModel.CustomerSpecification.IsValid())
PerformActionInBackground(delegate{PerformSearch();});
}