У меня есть 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" решает эту проблему для одиночных привязок, но не для множественных.
Документы Microsoft утверждают, что
Механизм привязки оценивает ValidationRules объекта MultiBinding, когда значение перемещается из целевого свойства привязки в объект IMultiValueConverter.
Я подтвердил, что значение при нагрузке проходит через преобразователь, но не через валидатор.