我有WPF数据库应用程序。我的数据库有10个表,但其中一个表具有不同数量的列。我可以使用文本框编辑数据。因此,我提出了一种创建更多文本框的方法。如果我选择具有十列的表,则有十个文本框,但是如果我选择具有较少列的表,则仍然有十个文本框。
除了一个表外,我所有的表都只有两列,因此我在XAML中创建了两个文本框,并在选择了十列表时创建了创建其余列的方法。 这是我的方法的示例:
public void AddTb()
{
TextBox tb2 = new TextBox();
tb2.TextWrapping = TextWrapping.Wrap;
tb2.Width = 60;
tb2.Height = 23;
tb2.Foreground = Brushes.White;
tb2.Background = new SolidColorBrush(Color.FromArgb(0xFF, 0x36, 0x4d, 0x63));
tb2.Margin = new Thickness(0, 0, 10, 229);
Grid.Children.Add(tb2);
}
这是调用该方法的条件:
string select = this.MySimpleStringProperty;
if (select == "konzole")
{
AddTb();
}
我的列表:
public string MySimpleStringProperty { get; set; }
public List<string> MyListProperty { get; set; } = new List<string>() { "konzole", "výrobce", "typ", "platforma", "barva", "edice", "site", "uložiště", "velikost_uložiště", "mechanika" };
答案 0 :(得分:1)
如果您有一个元素列表,则可以使用AddTb方法维护它,可以维护列表并使用.Any()
进行检查
public void AddTb()
{
if(MySimpleStringProperty != "konzole")
return;
TextBox tb2 = new TextBox();
tb2.TextWrapping = TextWrapping.Wrap;
tb2.Width = 60;
tb2.Height = 23;
tb2.Foreground = Brushes.White;
tb2.Background = new SolidColorBrush(Color.FromArgb(0xFF, 0x36, 0x4d, 0x63));
tb2.Margin = new Thickness(0, 0, 10, 229);
Grid.Children.Add(tb2);
}
基于评论
List<string> ProperString = new List<string>();//Global
ProperString.Add("konzole");
ProperString.Add("Other Stuff");
if (!ProperString.Any(x => x == MySimpleStringProperty))
return;
U也可以使用.Contains()
答案 1 :(得分:1)
不想再使用TextBoxes
时,您需要将其删除。
呼叫Grid.Children.Clear()
会删除所有子级。