Можно ли написать класс, который взаимодействует с элементами управления в моей форме WPF? - PullRequest
1 голос
/ 24 мая 2010

Я пытаюсь написать класс, который я могу использовать для взаимодействия с группой похожих элементов управления в моем приложении 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 Ответ

1 голос
/ 24 мая 2010

Передайте массив блоков в ваш элемент управления в конструкторе элемента управления ...

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

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

     }

   //...
}

Вам нужно будет добавить элемент управления в форму динамически после создания CheckBox и написать методВаша форма, которая идентифицирует все соответствующие элементы управления и передает их в ProcControl в своем конструкторе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...