2

我在 WPF 中遇到了验证问题。
我有一个用户控件,它有几个文本框,它们绑定到数据模型。
验证是使用 IDataErrorInfo 实现的。

我希望仅在用户按下“提交数据”按钮时触发验证,所以我使用UpdateSourceTrigger="Explicit" 了所有这些文本框的绑定。

一切正常,验证仅在用户按下按钮时触发,我在此处更新数据源。

但是该用户控件可以隐藏或显示,当我将可见性从显示/更改为隐藏然后返回显示时,会触发验证。

有没有办法控制该阶段的验证?

4

1 回答 1

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();});
    }
于 2009-12-21T18:07:21.090 回答