如何将ListPanel中的所有子项存储在列表中?

时间:2017-03-20 14:37:38

标签: c# mysql wpf

我有6个标签和6个对象(1个Datepicker,2个组合框和3个文本框)。 标签名称是mysql数据库中的列名。对象的内容就是这个的值。

如果单击“保存”,我想将值保存到数据库中。

我发现了什么(但是因为我没有像标签那样相同数量的文本框而无法工作):

string query = "INSERT INTO "+ privateCustomerTablename +" (";
                for (int i = 0; i < textboxes.Count; i++)
                {
                    var column = labels[i];
                    if (i < textboxes.Count - 1)
                        query += column.Name + ",";
                    else
                        query += column.Name;
                }
                query += ") VALUES (";
                for (int i = 0; i < textboxes.Count; i++)
                {
                    var value = textboxes[i];
                    if (i < textboxes.Count - 1)
                        query += "'" + value.Text + "',";
                    else
                        query += "'" + value.Text + "')";
                }

所以我要存储Stackpanel的所有子项(我有2个Stackpanels,1个用于标签,1个用于对象)来更改objectlist.Count in objectlist count。

但是如何将Stackpanel的子项与列表中的不同对象存储在一起呢?

1 个答案:

答案 0 :(得分:1)

  

但是如何将Stackpanel的子项与列表中的不同对象存储在一起呢?

您可以将所有孩子存储在一个List<UIElement> allElements = stackPanel1.Children.OfType<UIElement>().ToList(); 中:

List<TextBox> allTextBoxesInTheStackPanel = stackPanel1.Children.OfType<TextBox>().ToList();

或者您可以将特定元素存储在专门列表中,例如:

{{1}}

这会回答你的问题吗?

对于SQL部分,您应该总是更喜欢使用参数:

Why do we always prefer using parameters in SQL statements?

相关问题