スタックパネルとテキストボックスは、マージンを変更するだけで、プログラムによってforループになります。次に、これらはウィンドウコンテキストに追加されます。
ここで、ユーザーがTextBoxに値を入力するときに、それらを個別のフィールドにバインドする必要があります。しかし、何らかの理由でテキストボックスが有効になっておらず、フィールドが適切にバインドされていないことが原因だと思います。
StackPanel panel1 = new StackPanel();
for (int i = 0; i < 10; i++)
{
TextBox txtProgramValue1 = new TextBox();
txtProgramValue1.FontSize = 14;
txtProgramValue1.Height = 32;
txtProgramValue1.HorizontalAlignment = HorizontalAlignment.Right;
txtProgramValue1.VerticalAlignment = VerticalAlignment.Top;
txtProgramValue1.Width = 126;
txtProgramValue1.Margin = new Thickness(0, 51 + (i * 100), 16, 0);
txtProgramValue1.Name = "lblProgramValue" + i.ToString();
txtProgramValue1.IsEnabled = true;
panel1.Children.Add(txtProgramValue1);
}
各TextBoxのtxtProgramValue1.Textをリストにマップする必要があります。