【发布时间】:2023-02-01 23:34:18
【问题描述】:
我的 wpf 应用程序中有一个带有动态创建的文本框和按钮的堆栈面板。 这工作正常。稍后在应用程序中我必须使用文本框的名称和值。我怎么做。 我有这段代码: 首先在名为 panelBet 的堆栈面板中创建文本框。
其次是使用名称和值的开关盒。 “控制”下的红线。
第一次创作:
int f = 1;
foreach (TextBox txt2 in txtBet)
{
string name = "Bet" + f.ToString(); ;
txt2.Name = name;
txt2.Text = name.ToString();
txt2.Width = 100;
txt2.Height = 40;
txt2.Background = Brushes.Lavender;
txt2.Margin = new Thickness(3);
txt2.HorizontalAlignment = HorizontalAlignment.Left;
txt2.VerticalAlignment = VerticalAlignment.Top;
txt2.Visibility = Visibility.Visible;
panelBet.Children.Add(txt2);
f++;
}
第二个开关盒:
private void cboRunder_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var cboRunder = sender as ComboBox;
string strRunder = cboRunder.SelectedValue.ToString(); // blinds, preflop osv.
switch (strRunder)
{
case "Blinds":
string s = ((TextBox)panelBet.Controls["txtBet"]).Text;
}
}
【问题讨论】:
-
我会使用WPF binding mvvm StackPanel。然后您根本不需要访问 StackPanel 并创建或读取 TextBoxes。相反,您可以直接从您的集合中访问数据。只需添加 TextBox 而不是链接示例中的 Label
标签: c# wpf stackpanel