Вы можете поставить валидацию в вашей привязке
<TextBox>
<TextBox.Text>
<Binding Path="CategoriaSeleccionada.ColorFondo"
UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<utilities:RGBValidationRule />
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
Посмотрите на этот пример (моей программы), вы помещаете проверку в привязку следующим образом. С UpdateSourceTrigger вы можете изменить время обновления привязки (потеря фокуса при каждом изменении ...)
Ну, проверка - это класс, я приведу вам пример:
class RGBValidationRule : ValidationRule
{
public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo)
{
// Here you make your validation using the value object.
// If you want to check if the object is only numbers you can
// Use some built-in method
string blah = value.ToString();
int num;
bool isNum = int.TryParse(blah, out num);
if (isNum) return new ValidationResult(true, null);
else return new ValidationResult(false, "It's no a number");
}
}
Короче говоря, сделайте работу внутри этого метода и верните новый ValidationResult. Первый параметр - это bool, значение true, если проверка правильная, и false, если нет. Второй параметр - это только информационное сообщение.
Я думаю, что это основы проверки текстовых полей.
Надеюсь, это поможет.
РЕДАКТИРОВАТЬ: Извините, я не знаю VB.NET, но я думаю, что код C # довольно прост.