我在绑定到实体框架对象(1 DateTimePicker
,1 ComboBox
和2 TextBoxes
)的窗体上有几个控件。 DataSourceUpdateMode
为OnValidation
(默认),表单的AutoValidate
属性设置为EnableAllowFocusChange
。 DateTimePicker
和ComboxBox
的绑定按预期工作。
但是,当我在TextBox
中输入内容时,当我退出时,该值会消失。两个TextBox
控件都经过验证。在Validating事件处理程序中,我可以看到每个Text
的{{1}}属性中的值。但是,当我到达Validated事件处理程序时,TextBox
值将被设置回空字符串。
编辑:
经过一些实验,似乎与我将Text
控件绑定到TextBox
类型的属性这一事实有关。我创建了一个小型测试项目,其中包含一个包含单个System.Nullable(Of Short)
属性的类。当我将带有单个System.Nullable(Of Short)
的表单绑定到该属性时,我遇到了同样的问题。但是,如果我将该属性更改为TextBox
类型,则可以正常工作。
答案 0 :(得分:0)
基于Stuart Dunkeld在评论(https://stackoverflow.com/a/3524691/43846)中链接的问题,我发现在绑定到可空类型时,绑定的FormattingEnabled
属性必须设置为true
。