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");
}
}
}