purtroppo seguendo il tuo esempio non riesco a riprodurre il problema, a me funziona cosi come deve essere.
ti posto il mio codice completo, sul notebook ho visual studio express per winphone ma il codice è facilmente adattabile per winform
codice:
public class Persona
{
public string Nome { get; set; }
public string Cognome { get; set; }
public int Eta { get; set; }
}
public partial class MainPage : PhoneApplicationPage
{
public static List<Persona> elenco { get; set; }
// Constructor
public MainPage()
{
elenco = new List<Persona>();
elenco.Add(new Persona { Nome = "Nome 1", Cognome = "Cognome1", Eta = 11 });
elenco.Add(new Persona { Nome = "Nome 2", Cognome = "Cognome2", Eta = 22 });
elenco.Add(new Persona { Nome = "Nome 3", Cognome = "Cognome3", Eta = 33 });
elenco.Add(new Persona { Nome = "Nome 4", Cognome = "Cognome4", Eta = 44 });
InitializeComponent();
foreach (PropertyInfo pi in typeof(Persona).GetProperties())
{
TextBox tb = new TextBox{ Text = pi.GetValue(elenco[1], null).ToString() };
ContentPanel.Children.Add(tb);
}
}
}