private static Binding CreateBindingByEditor(PropertyEditor editor) { var binding = editor.CreateBindingInternal(); var property = editor.Meta; var propertyMeta = property.PropertyMeta; if (!string.IsNullOrEmpty(property.StringFormat)) { binding.StringFormat = property.StringFormat; } else { //时间类型的属性,使用默认的格式化。 var mp = propertyMeta.ManagedProperty; if (mp.PropertyType == typeof(DateTime)) { var meta = mp.GetMeta(propertyMeta.Owner.EntityType) as IPropertyMetadata; switch (meta.DateTimePart) { case DateTimePart.DateTime: break; case DateTimePart.Date: binding.StringFormat = "d"; break; case DateTimePart.Time: binding.StringFormat = "t"; break; default: break; } } } return(binding); }