IUnityContainer CreateActivityContext(string regionName, INvtSession session, ContentColumn column) { var container = this.container.CreateChildContainer(); //create & register view presenter var presenter = ViewPresenter.Create(view => { var region = regionManager.Regions[regionName]; //dbg.Assert(column.Content == null); column.Content = view; return(Disposable.Create(() => { //column.Content = null; })); }); container.RegisterInstance <IViewPresenter>(presenter); container.RegisterInstance <INvtSession>(session); container.RegisterInstance <Dispatcher>(Dispatcher.CurrentDispatcher); var app = Application.Current as App; if (app != null && app.plugins != null) { try { foreach (var p in app.plugins) { p.OnDeviceSettingsContextCreated(container); } } catch (Exception err) { dbg.Error(err); } } return(container); }
static IUnityContainer CreateActivityContext(Action <FrameworkElement> setView, IUnityContainer parentContext) { var container = parentContext.CreateChildContainer(); //create & register view presenter var presenter = ViewPresenter.Create(view => { setView(view); return(Disposable.Create(() => { //setView(null); })); }); container.RegisterInstance <IViewPresenter>(presenter); return(container); }
IUnityContainer CreateActivityContext(IUnityContainer container, ContentControl UIelement) { var childContainer = container.CreateChildContainer(); //create & register view presenter var presenter = ViewPresenter.Create(view => { UIelement.Content = view; return(Disposable.Create(() => { //UIelement.Content = null; })); }); childContainer.RegisterInstance <IViewPresenter>(presenter); return(childContainer); }