我有自己的错误提供程序,不想使用任何内置的 WPF 东西。我有一个绑定到整数的文本框,并且我有 ValidatesOnExceptions=False 和 ValidatesOnDataErrors=False。但是当我在文本框中输入一个非整数时,我会得到一个红色边框。有什么我想念的吗?
问问题
933 次
1 回答
2
你有几个选择
- 您可以将数据类型更改为字符串,以便默认转换器在转换数据时不会引发异常。
您可以使用自定义值转换器,当您尝试将字符串哄骗为整数时不会引发异常
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 更改为显式并精确控制数据绑定的更新时间。
您可以使用表达式混合来编辑 TextBox 模板的本地副本并删除与绑定验证错误相关的所有内容
于 2012-07-31T16:22:54.940 回答