private void MonitorExtension() { ViewModel = new ApplicationViewModel(); ViewModel.MainMenuItems.Add(new MenuItem { Text = "主页", Url = "/" }); BundleRuntime.Instance.AddService <ApplicationViewModel>(ViewModel); _extensionHooker = new ExtensionHooker(BundleRuntime.Instance.GetFirstOrDefaultService <IExtensionManager>()); _extensionHooker.HookExtension("MainMenu", new MainMenuExtensionHandler(ViewModel)); }
private void MonitorExtension() { ViewModel = new ApplicationViewModel(); //Register pages in Shell project. ViewModel.MainMenuItems.Add(new MenuItem { Text = "Home", URL = "/" }); BundleRuntime.Instance.AddService <ApplicationViewModel>(ViewModel); _extensionHooker = new ExtensionHooker(BundleRuntime.Instance.GetFirstOrDefaultService <IExtensionManager>()); _extensionHooker.HookExtension("MainMenu", new MainMenuExtensionHandler(ViewModel)); _extensionHooker.HookExtension("SidebarMenu", new SidebarExtensionHandler(ViewModel)); }
public void Start(IBundleContext context) { _context = context; context.AddService <ICommandBusService>( new CommandBusService(context.GetFirstOrDefaultService <IMessageBusService>())); var factory = new AdapterFactoryCatalog <IEditHandler>(); factory.RegisterFactory(new TextBoxAdapterFactory()); context.AddService <IAdapterFactoryCatalog <IEditHandler> >(factory); context.AddService <IEditManager>(new EditManager(factory)); context.AddService <IDocumentManager>(new DocumentManager()); var layoutView = context.GetFirstOrDefaultService <IShellLayoutView>(); _extensionManager = context.GetFirstOrDefaultService <IExtensionManager>(); _extensionHooker = new ExtensionHooker(_extensionManager); var extensionChangeHandler = new ExtensionChangeHandler(new ToolStripBuilder(), toolStrip => layoutView.AddToolStrip((ToolStrip)toolStrip), toolStrip => layoutView.RemoveToolStrip((ToolStrip)toolStrip)); _extensionHooker.HookExtension(ExtensionPointNames.ToolStrip, extensionChangeHandler); extensionChangeHandler = new ExtensionChangeHandler(new MainMenuBuilder(), toolStripItem => layoutView.AddMenuItem((ToolStripItem)toolStripItem), toolStripItem => layoutView.RemoveMenuItem((ToolStripItem)toolStripItem)); _extensionHooker.HookExtension(ExtensionPointNames.MainMenu, extensionChangeHandler); var docManager = _context.GetFirstOrDefaultService <IDocumentManager>(); extensionChangeHandler = new ExtensionChangeHandler(new FileFilterBuilder(), documentFactory => docManager.Register((IDocumentFactory)documentFactory), documentFactory => docManager.UnRegister((IDocumentFactory)documentFactory)); _extensionHooker.HookExtension(ExtensionPointNames.FileFilters, extensionChangeHandler); StartActiveControlMonitor(); }