解析取值
每当最终用户接受一个编辑值时,输入的文本就被转换为编辑器的数据类型 (数值、日期时间等)。 当编辑器将要失去焦点时,或者在按下 ENTER 键 (如果 RepositoryItemTextEdit.ValidateOnEnterKey 属性值是 true) 时,转换发生。 在默认情况下,编辑器使用 Parse 方法转换输入的字符串。 但是,可以通过接管 RepositoryItem.ParseEditValue 事件来重写默认的转换。
转换和解析数据绑定编辑器中的取值
源自 XtraEditors 库的编辑器被设计用于编辑特定数据类型的取值。 例如, SpinEdit 和 CalcEdit 控件接受数值,而 DateEdit 和 TimeEdit 控件用于编辑日期-时间值。 在默认情况下,这些编辑器不接受字符串值。
TextEdit 和 ButtonEdit 控件是通用编辑器。 它们接受任何类型的取值,并且允许最终用户以文本形式编辑取值。 在最终用户修改编辑框中的文本之后,编辑器试图把文本转换为原数据类型,并把它传回数据源。 数据转换为数值和日期-时间类型时,转换会被自动执行。 但是,转换为其他类型时,必须人工完成转换。
如果需要控制数据源字段的取值如何转换为编辑器的取值,则接管 System.Windows.Forms.Binding.Format 事件。 要把编辑器的编辑值转换为数据源字段的类型,则接管 System.Windows.Forms.Binding.Parse 事件。