WPF(.net 3.5)绑定(bind)到数字(int,dbl)但允许用户不输入任何内容

标签 wpf validation binding

如果您绑定(bind)到一个可为空 double (或 int)的 View 模型属性,您如何允许用户不指定任何内容。

我正在研究验证,但我不知道如何才能获得帮助。

似乎如果文本框被清空,WPF 会将其视为空字符串,然后不会将其放入 vm 属性中。

所以我能想到的两种解决方法是:

  1. vm 属性是一个字符串,它是 验证并更新支持 模型。
  2. 表示没有值的特殊代码(在我的例子中,dbl 不应该 是负数,所以 -9 可能是空...但是 不喜欢魔法的想法 数字)

还有其他想法吗?我错过了什么吗?

科迪

最佳答案

设置TargetNullValue绑定(bind)上的空字符串。当 WPF 看到此值时,它会将源设置为 null,而不是尝试转换该值。

{Binding TargetNullValue=''}

关于WPF(.net 3.5)绑定(bind)到数字(int,dbl)但允许用户不输入任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3113897/

相关文章:

c# - 当属性抛出错误时,如何将其设置为空值?

wpf - 与 WPF 连接的身份服务器

c# - 除非已绑定(bind),否则返回 null 的属性?

php - 如何在php代码中调用javascript函数?

python - 在 Django 中验证 slug

java - Miglayout + hidemode 3 = 显示控件时不需要的自动滚动

c# - Preview Mouse Down 事件在第一次调用时返回带有空引用 CurrentColumn 的发件人

wpf - 在 View 的代码中将 WPF 事件绑定(bind)到 MVVM ViewModel 命令

C#绑定(bind)datagridviewcomboboxcolumn到列表显示,格式化,preferred Size错误

Android Kotlin Kotlinx 模块级别 View 绑定(bind)