Exemplo n.º 1
0
        public WebBrowserModule(IApplicationContext container, IPortal portal, IDsConfigurationSection dsconfig, IShell shell, ILoadingManage loadingManage, IDsEnvironment dsEnvironment, IRegionManager regionManager
                                , IEventAggregator eventAggregator, ILoggerFacade logger)
            : base(container, dsconfig)
        {
            AddinPath       = base.AddinInfo.AddinPath.Substring(0, base.AddinInfo.AddinPath.LastIndexOf('\\'));
            EventAggregator = eventAggregator;
            Container       = base.Container;
            UIRegionManager = regionManager;
            MainWindow      = shell;
            portaldata      = portal;
            DsConfiguration = dsconfig;
            Logger          = logger;
            DsEnvironment   = dsEnvironment;
            DsAddinConfig   = base.CurrentAddinConfiguration.GetSection("ds/base") as IDsAddinConfigurationSection;

            string Language    = string.Empty;
            var    LanguagePar = DsConfiguration.Params["Language"];

            if (LanguagePar != null)
            {
                Language = LanguagePar.Value;
            }

            // CefManager.Strat();


            string dxcx = (new DS.AFP.Common.Core.ResManager()).GetResource("DS.AFP.WebBrowser", "Close").ToString();
        }
Exemplo n.º 2
0
 /// <summary>
 /// 初始化环境参数,默认宿主在WPF上运行
 /// </summary>
 protected virtual void ConfigureEnvironment()
 {
     Environment = new DsEnvironment()
     {
         EnvironmentType = EnvironmentType.WPF
     };
 }
Exemplo n.º 3
0
        /// <summary>
        /// 初始化环境参数
        /// </summary>
        /// <param name="dsConfig"></param>
        /// <param name="assemblyFullName"></param>
        private void InitializationDsEnvironment(IDsConfigurationSection dsConfig, string assemblyFullName)
        {
            //#if DEBUG

            //            Debugger.Launch();

            //#endif
            Console.WriteLine("InitializationDsEnvironment:{0},{1}".FormatString(dsConfig.ToString(), assemblyFullName));
            try
            {
                //var server;
                IDsEnvironment de = ParentContaioner.GetObject <IDsEnvironment>();
                IList <ModuleConfigurationElement> server = (from ModuleConfigurationElement me in dsConfig.Modules
                                                             where me.ModuleType.EndsWith(assemblyFullName)
                                                             select me).ToList <ModuleConfigurationElement>();
                Console.WriteLine("Modules:{0},server count:{0}".FormatString(dsConfig.Modules.Count, server.Count));
                ModuleConfigurationElement mce = server.FirstOrDefault();
                this.AddinInfo = new AddinInfo()
                {
                    AddinAssemblyName     = assemblyFullName,
                    AddinNameSpace        = mce.AssemblyFile.Substring(mce.AssemblyFile.LastIndexOf('/') + 1).Replace(".dll", ""),
                    AddinName             = mce.ModuleName,
                    ConfigurationFilePath = ConfigurationFileHelper.GetAddinConfigurationFilePath(mce.AssemblyFile),
                    AddinConfigurationEle = mce,
                    AddinPath             = PathHelper.GetFullPath(mce.AssemblyFile)
                };
                if (de.AddinInfos.ContainsKey(AddinInfo.AddinName))
                {
                    AddinInfo addin = de.AddinInfos[AddinInfo.AddinName];
                    addin.ConfigurationFilePath = this.AddinInfo.ConfigurationFilePath;
                    addin.AddinConfigurationEle = this.AddinInfo.AddinConfigurationEle;
                    addin.AddinPath             = this.AddinInfo.AddinPath;
                    //throw new Exception("DsEnvironment中注册AddinName失败,原因是AddinName作为键值重复!");
                }
                else
                {
                    de.AddinInfos.Add(mce.ModuleName, AddinInfo);
                }
            }catch (Exception ex)
            {
                Console.WriteLine("InitializationDsEnvironment异常:{0}".FormatString(ex.StackTrace.ToString()));

                throw new Exception("InitializationDsEnvironment异常。", ex);
            }
        }
Exemplo n.º 4
0
        public MainWindow(IDsEnvironment dsEnvironment, IDsConfigurationSection dsconfig)
        {
            InitializeComponent();

            dsNotifications.Top  = SystemParameters.WorkArea.Height - topOffset;
            dsNotifications.Left = SystemParameters.WorkArea.Left + SystemParameters.WorkArea.Width - leftOffset;
            DsEnvironment        = dsEnvironment;

            /////这里是在初始化加载控件之前就已经做了,故使用配置的方式进行加载
            ////1、创建默认主题(默认情况下是DeepBlue)
            if (dsconfig.Themes.Count > 0)
            {
                foreach (ThemeElement item in dsconfig.Themes)
                {
                    ThemeManage.CurrentTheme = item.Name;
                    break;
                }
            }
            System.Windows.Application.Current.Resources.MergedDictionaries.Clear();
            ////2、加载控件的样式
            foreach (ModuleConfigurationElement module in dsconfig.Modules)
            {
                string assemblyfile = module.AssemblyFile.Substring(module.AssemblyFile.LastIndexOf('/') + 1);
                string path         = assemblyfile.Substring(0, assemblyfile.LastIndexOf('.'));
                ThemeManage.EnsureApplicationResources(ThemeManage.CurrentTheme, path);
            }
            //////这部分代码怎么实现的问题---gefx
            //if (dsEnvironment.AddinInfos == null || dsEnvironment.AddinInfos.Count <= 0)
            //    DsEnvironment = ParentContaioner.GetObject<IDsEnvironment>();

            //foreach (AddinInfo addininfo in DsEnvironment.AddinInfos.Values)
            //{
            //    ////这里又有一个问题就是命名空间要更程序集的名称对应,不然的话就需要截取字符串的形式啦!!
            //    string assemblyname = addininfo.AddinNameSpace;
            //    ThemeManage.EnsureApplicationResources(ThemeManage.CurrentTheme, assemblyname);
            //}
            #region Debug
            //base.SetWindowTheme("DeepBlue", "DS.AFP.UIFramework");
            #endregion

            App.iconMouseEvent += App_iconMouseEvent;

            FullScreenManager.RepairWpfWindowFullScreenBehavior(this);
        }