3
我有我自己的errorprovider,不想使用任何内置的WPF东西。我有一个绑定到整数的文本框,并且我有ValidatesOnExceptions = False和ValidatesOnDataErrors = False。但是当我在文本框中输入一个非整数时,我会看到一个红色边框。有什么我失踪?WPF ValidatesOnDataErrors =假不工作
我有我自己的errorprovider,不想使用任何内置的WPF东西。我有一个绑定到整数的文本框,并且我有ValidatesOnExceptions = False和ValidatesOnDataErrors = False。但是当我在文本框中输入一个非整数时,我会看到一个红色边框。有什么我失踪?WPF ValidatesOnDataErrors =假不工作
您有几种选择
您可以使用自定义值转换器,不会抛出异常,当你尝试哄一个字符串转换成整数
class CustomConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value.ToString();
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
int x = -1;
Int32.TryParse(value.ToString(), out x);
return x;
}
}
您可以更改UpdateSourceTrigger以明确和有控制权正是时候数据绑定已更新。
您可以使用Expression Blend中编辑文本框模板的本地副本,并删除相关的绑定验证错误
@ Justin984所有的东西。你有类似的事情发生在这里,这是因为你绑定到一个int:http://stackoverflow.com/questions/8435030/how-validatesonexceptions-works – 2012-07-31 16:28:08
嗯,我希望有一种简单的方法来关闭红色边框,而无需编辑模板。感谢您确认我的怀疑。为了防止某人有一个聪明的解决方案,我会把这个开放一段时间,但我猜这将是答案。 – ConditionRacer 2012-07-31 16:38:10