Example #1
0
        public WidgetBase AddField(System.Reflection.PropertyInfo member, string tooltip = null)
        {
            var name = member.Name;

            WidgetBase widget = null;

            if (tooltip == null)
            {
                tooltip = member.GetPropertyDescription();
            }

            if (member.PropertyType == typeof(DateTime) || member.PropertyType == typeof(DateTime?))
            {
                widget = new DateTimePicker()
                {
                    Name    = name,
                    Label   = name,
                    Value   = new Binding(name),
                    ToolTip = tooltip
                };
            }
            else if (member.PropertyType == typeof(bool))
            {
                widget = new CheckBox()
                {
                    Name    = name,
                    Label   = name,
                    Value   = new Binding(name),
                    ToolTip = tooltip
                };
            }
            else if (member.PropertyType.IsEnum)
            {
                widget = new ComboBox()
                {
                    Name          = name,
                    Label         = name,
                    SelectedValue = new Binding(name),
                    DataSource    = new EnumDataSource(member.PropertyType),
                    ToolTip       = tooltip
                };
            }
            else
            {
                widget = new TextBox()
                {
                    Name    = name,
                    Label   = name,
                    Value   = new Binding(name),
                    ToolTip = tooltip
                };
            }


            Panel.Elementy.Add(widget);
            return(widget);
        }