У меня есть кнопка, ограниченная свойством Validation.HasError текстового блока.У текстового блока есть правило проверки, которое проверяет значение, введенное пользователем.Цель привязки состоит в том, что кнопка должна быть отключена, если пользователь вводит неправильные данные.
Проблема заключается в том, что ValidationRule выполняет ПОСЛЕ привязки.Поэтому, когда пользователь вводит неправильное значение, привязка проверяет свойство HasError текстового блока, которое имеет значение FALSE, поэтому кнопка включена.И тогда выполняется валидация.Это приводит к обратной ситуации, когда текстовый блок недействителен, а кнопка включена.
Как я могу указать, какое (связывание и проверка) выполняется первым?
Вот XAML:
<MultiBinding Converter="{StaticResource ButtonVisibilityConverter}" UpdateSourceTrigger="PropertyChanged" Mode="OneWay" >
<Binding ElementName="integerInput" Path="HasValidationError"/>
<Binding ElementName="doubleInput" Path="HasValidationError"/>
</MultiBinding>
</Button.IsEnabled>
Я уверен, что это не так.Элемент управления текстовым блоком, о котором я говорю, - это пользовательский спиннер (текстовое поле с двумя кнопками +/-).Содержимое счетчика связано со свойством в модели представления.Каждый раз, когда мы нажимаем кнопку «+» или «-», выполняется команда, которая увеличивает или уменьшает значение в текстовом поле.