是否可以动态创建复选框并仅在C#中指定其groupbox / grid和location?

时间:2013-07-17 18:57:05

标签: c# wpf checkbox

我正在尝试创建大量的复选框,并感觉如果我在xaml中创建它们效率不高。

是否可以动态创建复选框并仅在C#中指定组框/网格及其位置?我知道我们可以动态创建复选框,但我不太确定如何通过c#管理其位置。

我对WPF比较陌生,谢谢!

2 个答案:

答案 0 :(得分:2)

@ user2584960“一旦我创建了它们,我怎么能引用它们?我被卡住了......我在给孩子们添加之前给了复选框一个名字,但是不能引用它们......”

我只能想象您正在尝试:

Checkbox c = panel.Children.Add(new Checkbox());

当您添加到面板时,您没有返回任何内容,因此您无法“引用”复选框类。

正如@Alex G所说,他的答案显示了如何添加到内容窗口,如果您需要设置参考,只需创建一个新类,然后将其添加到窗口:

StackPanel panel = new StackPanel();
this.Content = panel;
CheckBox c = new CheckBox();
c.IsChecked = true;
//you Could create a loop to loop all of the list checkboxes to add them. 
panel.Children.Add(c);

答案 1 :(得分:0)

您很可能拥有包含Content属性的Page 你应该能够做到以下

            StackPanel panel = new StackPanel();
            this.Content = panel;
            panel.Children.Add(new CheckBox());
            panel.Children.Add(new CheckBox());
            panel.Children.Add(new CheckBox());

我猜您可以按照以下方式引用它们

            CheckBox cb = new CheckBox();
            panel.Children.Add(cb);