Передавать значения между UserControls - PullRequest
1 голос
/ 22 ноября 2010

У меня есть главное окно, в котором есть четыре пользовательских элемента управления. Эти пять сущностей должны общаться друг с другом. Существует ли установленный метод для передачи значений и объектов между UserControls?

Редактировать: я знаком с MVVM, но я прошу решения вне этой парадигмы.

Ответы [ 4 ]

2 голосов
/ 22 ноября 2010

Есть много способов, и это зависит от того, какой у вас реальный сценарий. Самым простым будет раскрытие открытых свойств и / или событий в ваших пользовательских элементах управления. Это предпочтительный способ, если вы хотите просмотреть конкретные данные. Если ваше сообщение больше связано с моделью, вы должны пройти маршрут через вашу ViewModel (и использовать MVVM).

Обычно я думаю, что UserControls обращаются друг к другу напрямую - это сильный намек на неприятный запах. Весьма вероятно, что для вас есть конкретный подход (Mediator, Eventaggregator, Controller или просто родительский элемент управления).

0 голосов
/ 22 ноября 2010

Есть много способов, одним из которых является использование событий. Не существует «прямых» методов, вам нужно направить свои значения через форму или класс модели.

Существует установленный шаблон, называемый MVVM (просто google для него), который имеет унифицированный способ связи между различными элементами управления, базами данных, веб-службами, вычислениями и т. Д. MVVM - это не шаблон для связи между различными элементами управления, это очень большая картина, но она тоже решает эту часть.

0 голосов
/ 22 ноября 2010

Я думаю, вам нужно выбрать модель предметной области в соответствии с требованиями вашего проекта, а затем создать классы, которые представляют сущности в вашей модели.Затем передайте объекты этих объектов по мере необходимости.

0 голосов
/ 22 ноября 2010

Вы можете общаться с пятью объектами, используя создание делегатов.

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