у меня есть решения в VS
и хочу сохранить некоторые настройки моего prism
module
внутри объекта в проекте модуля (я загрузить эти настройки из файла) , то я создал свой prism
module
класс (AModule.cs
), как это:WPF Prism доступ к определенной информации, как некоторые объекты класса внутри модуля от основного проекта
Внутри моего проекта модуля (AModul
проекта):
[Export]
[Module(ModuleName = "AModule")]
public class AModule : IModule
{
ModuleSettingsModel ModuleSettings { get ; set; }
public AModule()
{
// throw new NotImplementedException();
}
public AModule(IUnityContainer container)
{
// Some codes ....
}
~AModule()
{
// some codes
}
public void Initialize()
{
var regionManager = _container.Resolve<IRegionManager>();
regionManager.RegisterViewWithRegion("WorkspaceRegion", typeof(ModuleAView));
ModuleSettings = DataFileManager.LoadModuleData();
}
Это хорошо работает, и я могу использовать свои настройки в AModule
Внутри Main WPF Project
:
Но мне нужно получить доступ к этой настройке (ModuleSettings
собственности) в моем Main WPF project
также. Например, мне нужен доступ к ModuleA
»ModuleSettings
в моем классе Bootstrapper
моего приложения WPF
. Мне нужно сделать некоторую рабочую базу по каждому модулю в моем основном проекте ...
Мой вопрос в том, какие решения нужно делать? Должен ли я регистрировать какой-либо тип? Где? Как?
Note1: ModuleSettings * наследуется от IModuleSettings
и IModuleSettings
внутри Infrastructure project
.
Примечание2: я загружаю свои модули динамически в призме (мой основной WPf
проект не имеет каких-либо ссылок на AModule
);
В в моих проектах я использую собственный атрибут, чтобы украсить мою модель информацией о ресурсах, которые необходимо загрузить в глобальном контексте. Вы можете сделать это и с настройками. Просто проверьте свои модули на наличие этих параметров при их регистрации. Другой способ удержания настроек в глобальном контексте - это какой-то поставщик настроек, который вы регистрируете, прежде чем загружать какой-либо модуль. В своем модуле вы можете разрешить этот провайдер и зарегистрировать свои настройки. –
@BenedikSchroeder, спасибо, мне нужно 2 простых примера о вашем решении 2. Мне нужно знать, как это сделать, как и где регистрировать новые типы. Можете ли вы написать ответ, включайте полезную информацию об этом решении. Также reffrense ссылки на некоторые внешние образцы и статьи могут помочь мне ... – RAM