Я решил свою проблему, это было довольно легко, я думал удалить свой вопрос лучше, чем ответить на него, но, возможно, кто-то найдет это полезным.
class MyUserControlValidationRule : ValidationRule
{
private MyUserControl _control;
public MyUserControlValidationRule(MyUserControl control)
{
_control = control;
}
public override ValidationResult Validate(object value, CultureInfo cultureInfo)
{
int parameter = 0;
try
{
if (((string)value).Length > 0)
{
parameter = int.Parse((String)value);
}
}
catch (Exception e)
{
return new ValidationResult(false, "Illegal characters or " + e.Message);
}
if (parameter >= _control.Width)
{
return new ValidationResult(false, "Border width is bigger that the control width.");
}
return new ValidationResult(true, null);
}
}