是否可以编写一个与我的WPF表单上的控件交互的类?

时间:2010-05-24 16:16:19

标签: c# wpf wpf-controls

我正在尝试编写一个类,我可以用它来与我的wpf应用程序中的一组类似控件进行交互。我遇到了一些障碍,现在我想知道这是不是一个糟糕的方法开始。

我想这样做主要是为了让我的代码更易于管理 - 我必须使用我的代码与大约200-300个控件进行交互,将所有代码放在主窗口类中会非常棘手。

这是我希望能够做到的事情:

    class ProcControl
    {
        private CheckBox * [] Boxes = new CheckBox[10];

        ProcControl()
        {
            //set boxes 0-9 to point to the actual checkboxes
        }

        //provides mass checking/unchecking functionality
        public void Refactor(CheckBox box)
        {
            //see what box it is
            int box_index = 0;
            while (Boxes[box_index] != box) { box_index++; }
        }
    }

现在这不起作用。我还没弄明白如何让我的Boxes []数组指向我表单上的实际复选框,所以我还无法与它们进行交互。

甚至可以制作一个指向一堆控件的数组,以便我可以很好地处理它们的属性吗?

为什么我不能从班级内部访问控件?

1 个答案:

答案 0 :(得分:1)

在控件的构造函数中将框数组传递给控件...

class ProcControl
{
    protected CheckBox[] Boxes { get; private set;}

    ProcControl(CheckBox[] boxes)
    {
        Boxes = boxes;

     }

   //...
}

在创建CheckBox之后,您需要动态地将控件添加到表单中,并在表单上编写一个标识所有相关控件的方法,并将它们传递给构造函数中的ProcControl。