Как получить доступ к Silverlight App.current.resources ["x"] из библиотеки классов? - PullRequest
0 голосов
/ 09 февраля 2012

Я новичок в Silverlight. Прибыл как раз вовремя, чтобы услышать, как М.С. объявляет его мертвым на ногах. :)

В нашем прогнозе у нас есть приложение silverlight, размещенное на странице aspx. В файле web.config (который преобразуется) содержатся параметры конфигурации, включающие переменную среды для управления URL-адресами веб-служб в классах View-Model.

Все модели представлений используют общую библиотеку классов, чтобы установить соединение WS и обернуть некоторые часто используемые вызовы WS. Поэтому, когда мы создаем WS, нам нужно знать значение среды, чтобы мы могли угадать правильную привязку Сервиса. Практически каждая часть этого решения находится в отдельном файле проекта.

Пожалуйста, исключите грубость моей иллюстрации. web.config -> default.aspx - | -> app.xaml -> Xview.xaml - | -> XViewModel.cs - | -> ClassLib - | -> Сервис WCF.

- | -> является границей проекта.

Любая помощь будет великолепна. Даже если это всего лишь урок словарного запаса.

Заранее спасибо.

1 Ответ

1 голос
/ 09 февраля 2012

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

public static IApp CurrentApp { get; set; }

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

...