在后面的代码中按名称引用用户控件(动态创建)

时间:2013-07-17 22:33:37

标签: c# wpf

我使用以下方法创建了一个复选框:

for( i = 1; i<7; i++)
    {
        for (j = 1; j < 33; j++)
        {
            CheckBox a = new CheckBox();
            a.Name = "SAT_ID_" + i.ToString() + "_" + j.ToString();
            this.Sat_ID_Grid.Children.Add(a);
            a.Style = (Style)Application.Current.FindResource("ReadOnlyCheckBox");
            Grid.SetRow(a, i );
            Grid.SetColumn(a, j );
        }
    }

以后可以使用“SAT_ID_X_Y”引用复选框吗?我似乎无法找到解决方案。如果不是,我怎么能参考它们?我需要更改.ischecked状态。

由于

1 个答案:

答案 0 :(得分:1)

只需在某处存储对控件的引用,而不是它们的名称,例如:在List<CheckBox>中,您可以按索引访问它们。

另外,您实际上不应该这样做,使用data-templatingdata-binding来创建数据控件。如果完成,您只需要更改数据的布尔值,并选中/取消选中复选框。