在int文本框中允许null为non nullable int

时间:2012-09-04 13:00:33

标签: c# wpf

所以对此有非常相似的问题,但似乎没有解决我正在尝试做的事情,也许这是不可能的。我有一个表单,其中有许多文本框绑定到我的模型中的int属性。我们允许用户清除该字段,并且应该保持清除状态。如果他们这样做,他们会得到一个验证错误,它无法转换为“”。我理解为什么这是因为设计我不能使用int?,我知道这会解决我的问题。这可能吗,而不必定义要绑定的字符串属性?我试图不将所有我的int属性复制为字符串属性,但也许这就是我需要采取的道路。

2 个答案:

答案 0 :(得分:1)

您需要能够表示一个空int。 这是一个肮脏的黑客,但如果您选择一个永远无效的数字-999,您可以使用自定义转换器转换并在“”和-999之间转换回来。

它可能会达到你想要的效果,但我不推荐它。

答案 1 :(得分:1)

字符串为空时您想要做什么? 我的意思是,如果textbox为空,你想在prop中有一些int值吗?如果是,只需创建一个{null},将空值转换为该值并分配给Binding

相关问题