如何获取动态创建的最后一个文本框的值
how to get value of last text box, that dynamically created
此代码动态创建一些文本框。
如何获取此 UniformGrid 中 'last' 文本框的值?
网络搜索没有得到好的结果!
非常感谢
public Window1()
{
InitializeComponent();
for (var i = 0; i < 30; i++)
{
uniformGrid.Children.Add(new TextBox
{
Width = 70,
Background = Brushes.Beige,
HorizontalContentAlignment = HorizontalAlignment.Center,
VerticalContentAlignment = VerticalAlignment.Center,
Height = 30,
Margin = new Thickness(3)
});
}
}
文本框包含日期,我想获取最后一个文本框的值并在带有按钮事件的新文本框中显示。
private void datePicker_SelectedDateChanged(object sender, RoutedEventArgs e)
{
DateTime a = DateTime.Parse(datePicker.Text);
foreach (Control c in uniformGrid.Children)
{
TextBox textbox = c as TextBox;
if (textbox != null)
{
textbox.Text = a.ToString();
a = a.AddDays(1);
}
}
}
private void button_Click(object sender, RoutedEventArgs e)
{
lasttextBox =...
}
最后一个 TextBox
将是您添加的最后一个,因此是 Children
集合中的最高索引值。
int lastIndex = uniformGrid.Children.Count - 1;
var lastBox = (TextBox)uniformGrid.Children[lastIndex];
ResultTextBox.Text = lastBox.Text;
如果你有其他控件,那么你只需要枚举文本框 (你甚至可以保存结果,因为你在 SelectedDateChanged
事件处理程序).
TextBox lastBox = BoxGrid.Children.OfType<TextBox>().Last();
ResultBox.Text = lastBox.Text;
此代码动态创建一些文本框。 如何获取此 UniformGrid 中 'last' 文本框的值? 网络搜索没有得到好的结果!
非常感谢
public Window1()
{
InitializeComponent();
for (var i = 0; i < 30; i++)
{
uniformGrid.Children.Add(new TextBox
{
Width = 70,
Background = Brushes.Beige,
HorizontalContentAlignment = HorizontalAlignment.Center,
VerticalContentAlignment = VerticalAlignment.Center,
Height = 30,
Margin = new Thickness(3)
});
}
}
文本框包含日期,我想获取最后一个文本框的值并在带有按钮事件的新文本框中显示。
private void datePicker_SelectedDateChanged(object sender, RoutedEventArgs e)
{
DateTime a = DateTime.Parse(datePicker.Text);
foreach (Control c in uniformGrid.Children)
{
TextBox textbox = c as TextBox;
if (textbox != null)
{
textbox.Text = a.ToString();
a = a.AddDays(1);
}
}
}
private void button_Click(object sender, RoutedEventArgs e)
{
lasttextBox =...
}
最后一个 TextBox
将是您添加的最后一个,因此是 Children
集合中的最高索引值。
int lastIndex = uniformGrid.Children.Count - 1;
var lastBox = (TextBox)uniformGrid.Children[lastIndex];
ResultTextBox.Text = lastBox.Text;
如果你有其他控件,那么你只需要枚举文本框 (你甚至可以保存结果,因为你在 SelectedDateChanged
事件处理程序).
TextBox lastBox = BoxGrid.Children.OfType<TextBox>().Last();
ResultBox.Text = lastBox.Text;