Передача параметров через вложенные пользовательские элементы управления в Silverlight 4 - PullRequest
2 голосов
/ 03 октября 2011

У меня есть три уровня вложенных пользовательских элементов управления в моем приложении Silverlght 4.

самый низкоуровневый элемент управления запускает событие с некоторым параметром, затем второй пользовательский элемент управления принимает параметр и также запускает параметр отправки событиянаверхТретий пользовательский элемент управления делает то же самое, передавая параметр в MainPage.В любом случае у меня есть мой параметр, но способ, которым я это сделал, очень скучный и запутанный.Есть ли приемлемый и понятный способ сделать то же самое короче.

Большое спасибо!

Ответы [ 2 ]

1 голос
/ 04 октября 2011

Все зависит от того, что это за событие, и какой параметр вы используете.Если это чисто взаимодействие с пользователем и визуальный родитель должен реагировать на ваше событие, то, как упоминает HiTech Magic, это лучший способ сделать это.

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

Для вас может быть полезно добавить больше контекста к событию, которое вы запускаете, и к параметру, который вы выводите в контейнер, чтобы получить дополнительную информацию, которая относится к вашему контексту.

1 голос
/ 03 октября 2011

Это правильный путь, главным образом потому, что любой уровень является сменным и поэтому должен функционировать одинаково.

Скучно и просто выглядят на самом деле хорошие вещи для кода ... облегчают для других следовать.

Если вы хотите волнения ... Я бы предложил сменить профессию:)

...