Wpf/winforms从对象创建文本框和标签
本文关键字:文本 标签 创建 对象 winforms Wpf | 更新日期: 2023-09-27 17:58:23
我经常发现我自己创建的大型对象有很多属性,例如客户数据对象,包括诸如;名字姓地址1地址2地址3
Etc,我将不得不为每个属性编写一个使用标签和文本框的接口,给它们两个id,这可能会在一段时间后变得有点乏味。
有没有宏或源代码的孩子会为我做这样的事情?我在谷歌上搜索过,但我不太清楚我在搜索什么。
我假设您想要某种动态生成控件的方法,请尝试以下
public MainWindow()
{
InitializeComponent();
CreateControls();
}
private void CreateControls()
{
var c = new Customer("SomeFirstName", "SomeLastName", "Something");
PropertyInfo[] pi = c.GetType().GetProperties();
Label lbl;
TextBox tb;
StackPanel sp = new StackPanel();
sp.Orientation = Orientation.Horizontal;
foreach (var p in pi)
{
MessageBox.Show(p.Name);
lbl = new Label();
lbl.Content = p.Name;
tb = new TextBox();
tb.Text = p.GetValue(c, null).ToString();
sp.Children.Add(lbl);
sp.Children.Add(tb);
}
//Replace MainGrid with any control you want these to be added.
MainGrid.Children.Add(sp);
}
}
public class Customer
{
public Customer(string first, string last, string title)
{
FirstName = first;
LastName = last;
Title = title;
}
public string FirstName { get; set; }
public string LastName { get; set; }
public string Title { get; set; }
}