我有一个带有以下代码的DevExpress ComboBoxEdit:
<dxe:ComboBoxEdit.EditValue>
<MultiBinding Converter="{StaticResource freeTextComboBoxConverter}" ConverterParameter="{StaticResource converterParamAccessType}" UpdateSourceTrigger="PropertyChanged" ValidatesOnDataErrors="True" NotifyOnValidationError="True">
<Binding Path="SelectedType" UpdateSourceTrigger="PropertyChanged" />
<Binding Path="TypeName" UpdateSourceTrigger="PropertyChanged"/>
<MultiBinding.ValidationRules>
<val:TypeValidator ValidatesOnTargetUpdated="True" />
</MultiBinding.ValidationRules>
</MultiBinding>
</dxe:ComboBoxEdit.EditValue>
我想在控件加载后立即进行验证。问题是验证仅在用户输入第一个字符时才有效。 ValidatesOnTargetUpdated =“ True” 解决了单绑定的问题,但不适用于多绑定。
当值从绑定目标属性移动到IMultiValueConverter对象时,绑定引擎将评估MultiBinding对象上的ValidationRules。
我已经确认,该值在加载时会通过转换器,但不会通过验证器。