Лучший способ перезвонить / уведомить родительскую страницу события? - PullRequest
0 голосов
/ 01 декабря 2009

В приложении Silverlight 3.0 есть страница оболочки, которая служит элементом навигации для ряда дочерних элементов управления и других страниц Silverlight. Страницы Silverlight включаются в страницу оболочки через объект Frame (). Страницы вращаются динамически через файл с выделенным кодом, поэтому в xaml нет прямой ссылки на них.

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

ТИА.

Ответы [ 2 ]

0 голосов
/ 02 декабря 2009

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

public delegate void FunctionDelegate(string ChildControlName);

В классе родительского контейнера:

    public FunctionDelegate EventFunc;

В конструкторе родительского контейнера:

        EventFunc = DoSomeAction;

Передайте EventFunc дочернему объекту и при необходимости вызовите.

0 голосов
/ 02 декабря 2009

Я бы порекомендовал использовать Prism, разработанный командой Patterns and Practices Team.

Prism (через EventAggregator) позволяет отправлять уведомления из любого источника слушателям события, которое вы указали. Это довольно круто.

Это видео о связи между взглядами через Prism: http://channel9.msdn.com/posts/akMSFT/Creating-a-modular-application-using-Prism-v2-Screencast-44--Decoupled-Communication/

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