WPF文本框接受INT但不是NULLABLE INT?

时间:2014-02-15 04:00:24

标签: c# wpf int nullable

模型

public int? SizeLength { get; set; }

XAML

<TextBox Text="{Binding [someViewModel].SizeLength, Mode=TwoWay}"></TextBox>

用户尝试退格删除textbox中的值后,会显示消息Value '' cannot be converted

我可以知道它有什么问题吗?

3 个答案:

答案 0 :(得分:24)

使用:

{Binding TargetNullValue=''}

答案 1 :(得分:4)

由于从字符串到单个/ double / int的集成转换器需要解析字符串,因此它们不会将空值默认为0,因为您不会总是想要这种行为,因此它是在MSDN中编写的:

  

获取或设置当值的目标值时使用的值   来源为空。

使用它来定义空输入的默认值:

{Binding TargetNullValue=''}

TargetNullValue msdn

答案 2 :(得分:0)

您需要在XAML,Nullable或?中添加mscorlib的引用在您的道具中使用TargetNullValue值&#34;&#34;像Elios说的那样。

xmlns:sys="clr-namespace:System;assembly=mscorlib"

public Nullable<int> Prop { get; set; }

{Binding prop, TargetNullValue=''}