WPF-使用Int32.Parse后出错

WPF-使用Int32.Parse后出错,wpf,xaml,Wpf,Xaml,在ComboBoxNotEmptyValidationRuleclass I中使用Int32.Parse后,出现错误: Input string was not in a correct format. 当我添加到XAML时: <local:ComboBoxNotEmptyValidationRule x:Name="Number" ValidatesOnTargetUpdated="True"/> 您可以使用int32.TryParse class ComboBoxNotEmp

ComboBoxNotEmptyValidationRule
class I中使用
Int32.Parse
后,出现错误:

Input string was not in a correct format.
当我添加到XAML时:

<local:ComboBoxNotEmptyValidationRule x:Name="Number" ValidatesOnTargetUpdated="True"/>

您可以使用
int32.TryParse

class ComboBoxNotEmptyValidationRule : ValidationRule
{
    public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo)
    {
        int str;
        if (Int32.TryParse(value as string, out str))
        {
            if (str > 0)
                return ValidationResult.ValidResult;
        }
        return new ValidationResult(false, "please fill required field");
    }
}
或者,您可以捕获
FormatException
,并返回错误的验证结果

class ComboBoxNotEmptyValidationRule : ValidationRule
{
    public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo)
    {
        int str = -1;
        try
        {
            str = Int32.Parse(value as string);
            if (str > 0)
            {
                if (str > 0)
                    return ValidationResult.ValidResult;
            }
            return new ValidationResult(false, "please fill required field");
        }
        catch (FormatException)
        {
            return new ValidationResult(false, "please fill required field");
        }
    }
}

你能展示更多的代码吗?我们不知道什么是
ComboBoxNotEmptyValidationRule
等等@Jeff Meadows我添加了这个类。你确定值的类型是string吗?价值的内容是什么?
class ComboBoxNotEmptyValidationRule : ValidationRule
{
    public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo)
    {
        int str = -1;
        try
        {
            str = Int32.Parse(value as string);
            if (str > 0)
            {
                if (str > 0)
                    return ValidationResult.ValidResult;
            }
            return new ValidationResult(false, "please fill required field");
        }
        catch (FormatException)
        {
            return new ValidationResult(false, "please fill required field");
        }
    }
}