Как я могу общаться между различными пользовательскими элементами управления Silverlight и подстраницами? - PullRequest
0 голосов
/ 16 февраля 2011

У меня есть 2 пользовательских элемента управления на моей странице Silverlight.Один содержит палитру цветов (т.е. только несколько прямоугольников с цветами в них и некоторый код позади), а другой содержит список, отображающий элементы в цвете, выбранном в палитре цветов - или, по крайней мере, это идея.Пока у меня есть:

UI.MainPage mp = (UI.MainPage)App.Current.RootVisual;

, из которого я могу попасть в список:

mp.ucPenStyles.lstPenStyles

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


Хорошо, я подумал немного об этом.Оба моих пользователя управляют свойствами det в отдельном статическом классе.Пользовательский элемент управления A устанавливает свойство в классе, которое пользовательский элемент управления B должен уметь обнаруживать, изменилось и обновилось соответствующим образом.

Ответы [ 3 ]

0 голосов
/ 16 февраля 2011

Если вы пишете компоненты, используя Prism для Silverlight, вы можете использовать EventAggregator для отправки событий между отделенными компонентами.

Или, для более простого приложения, вы можете выставить обычное событие из одного из ваших элементов управления и прослушать его из другого элемента управления.

0 голосов
/ 16 февраля 2011

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

0 голосов
/ 16 февраля 2011

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

http://geekswithblogs.net/PeterTweed/archive/2009/07/26/inter-silverlight-application-communication-in-silverlight-3.aspx содержит подробные сведения о том, как реализовать эту функцию.

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