Как добавить к элементу управления ValidationRule, что только срабатывает, когда управление включено?WPF ValidationRule, когда управление IsEnabled = false
Спасибо.
Как добавить к элементу управления ValidationRule, что только срабатывает, когда управление включено?WPF ValidationRule, когда управление IsEnabled = false
Спасибо.
Посмотрите here, посмотрите в разделе «Пользовательские правила проверки», и вы можете проверить его в методе public override ValidationResult Validate
.
Вобще
if (mytextbox.IsEnabled) {// validate here}
EDIT:
Таким образом, вместо того, чтобы делать ваше правило проверки привязки в XAML, я думаю, что вам нужно сделать это в вашем коде позади, и вы можете назначить свойство, которое вы создали в своем настраиваемом классе правил проверки, в свой текущий экземпляр вашего combobox, а затем используйте это в своем переопределении вашего метода Validate
.
Так что в вашем классе ValidationRule
public ComboBox MyCombo
{
get;
set;
}
тогда, когда делает ваше правило проверки связывания
myvalidationinstance.MyCombo = mycombobox;
теперь вы можете использовать MyCombo
свойство в методе Validate для проверки IsEnabled
ОК, так У меня есть validationRule в свойстве SelectedValue ComboBox, чтобы проверить, является ли значение нулевым. Как получить дескриптор самого элемента управления validationRule. Насколько я вижу, у вас есть объект ценности, который, в моем случае, будет SelectedValue. Спасибо – obaylis
Посмотрите мои изменения выше –
Я понимаю, что вы имеете в виду. Не думал делать привязку в коде. Спасибо за ваш ответ. – obaylis