Взаимосвязь элементов управления на форме.

Содержание предыдущих постов

С помощью юзерконтрола можно реализовать некоторую взаимосвязь между существующими контролами на форме. Например, при изменении свойств одного элемента, произвести определенные действия с другим элементом или с группой элементов.

В качестве примера рассмотрим связь двух элементов типа список (ListPicker), с помощью которых инициализируются свойства Отдел и Должность. При выборе (или изменении) значения для списка Отдел, для списка Должность доступны не все, а определенные элементы списка.

В качестве значений для свойства Отдел могут быть выбраны значения «Отдел 1», «Отдел 2» и «Отдел 3». При выборе в списке Отдел значения «Отдел 1» в списке Должность доступны значения «Должность 1 1» и «Должность 1 2», при выборе «Отдел 2» — «Должность 2 1» и «Должность 2 2», при выборе «Отдел 3» — «Должность 3 1» и «Должность 3 2», при выборе «Не указано»  отображаются все значения для списка Должность.

Чтобы получить такое соответствие значений двух списков, для элементов списка Должность в свойстве «Описание» указывается соответствующее значение списка Отдел (см. рис.):

qw1

В юзерконтроле этот механизм реализован в обработчике события PropertyChanged для элемента выбора (ListPicker) значения для списка Отдел:

qw2

На следующих рисунках показаны результаты работы контрола при различных значениях списка Отдел:

qw3

qw4

Также при изменении значения списка можно скрывать/отображать другие элементы управления, задавать значения свойствам объекта класса и т.д.

 

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s