示例#1
0
        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);
        }