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); }