Example #1
0
        void m_browser_Navigating(object sender, LoadedMoudleEventArgs e)
        {
            var     container = sender as IContainer;
            PageTab tab       = PageBrowser.GetPageTabByChild(sender as FrameworkElement);

            if (tab != null)
            {
                LoadingComponent component = tab.GetValue(LoadingSettingProperty) as LoadingComponent;

                if (container != null)
                {
                    container.LoadProgress -= new EventHandler <LoadProgressEventArgs>(container_LoadProgress);
                    container.LoadProgress += new EventHandler <LoadProgressEventArgs>(container_LoadProgress);
                }

                if (e.Status == LoadModuleStatus.Begin)
                {
                    if (component == null)
                    {
                        component = this.GetInstance(tab) as LoadingComponent;
                        component.Show();
                    }
                }
                else
                {
                    if (component != null)
                    {
                        component.Hide();
                    }
                }
            }
        }
Example #2
0
        void m_browser_Navigating(object sender, LoadedMoudleEventArgs e)
        {
            if (e.Status == LoadModuleStatus.End)
            {
                IModuleInfo module = e.Request.ModuleInfo;
                IViewInfo   view   = module.GetViewInfoByName(e.Request.ViewName);

                if (view != null && view.NeedAccess && !this.HasFunctionForPage(string.Format("/{0}/{1}", e.Request.ModuleName, e.Request.ViewName)))
                {
                    throw new PageException(MessageResource.PageException_DeniedAccess_Title, MessageResource.PageException_DeniedAccess_Message, e.Request);
                }
            }
        }
Example #3
0
        void container_LoadModule(object sender, LoadedMoudleEventArgs e)
        {
            if (e.Status == Core.Components.LoadModuleStatus.End)
            {
                var container = sender as GridContainer;

                Request   request  = e.Request;
                IViewInfo viewInfo = request.ModuleInfo.GetViewInfoByName(request.ViewName);
                if (viewInfo != null)
                {
                    object view = viewInfo.GetViewInstance(new PageContext(request, m_browser));
                    IPage  page = view as IPage;
                    (sender as IContainer).Children.Add(view as UIElement);
                    var pageBase = view as PageBase;
                    if (pageBase != null)
                    {
                        pageBase.Window.DialogClosed += new EventHandler <ResultEventArgs>(Window_DialogClosed);
                        this.Closed += (obj, args) =>
                        {
                            pageBase.Window.DialogClosed -= new EventHandler <ResultEventArgs>(Window_DialogClosed);
                        };

                        this.Closing += (obj, args) =>
                        {
                            var args2 = new ClosingEventArgs {
                                Cancel = false
                            };

                            pageBase.Window.ClosingDialog(args2);

                            args.Cancel = args2.Cancel;
                        };
                    }

                    if (page != null && pageBase != null)
                    {
                        Deployment.Current.Dispatcher.BeginInvoke(() =>
                        {
                            page.Context.OnPageLoad(page, new EventArgs());
                        });
                    }
                    CPApplication.Current.CurrentPage.Context.Window.LoadingSpin.Hide();
                    this.Show();
                }
                else
                {
                    CPApplication.Current.CurrentPage.Context.Window.LoadingSpin.Hide();
                    CPApplication.Current.CurrentPage.Context.Window.MessageBox.Show(MessageResource.PopupBox_CannotFoundPage, MessageBoxType.Error);
                }
            }
        }
Example #4
0
        protected virtual void OnLoadModule(object sender, LoadedMoudleEventArgs e)
        {
            if (e.Status == LoadModuleStatus.End)
            {
                lock (m_mutex)
                {
                    m_currentRequest = null;
                }

                if (e.Error == null && e.Request.ModuleInfo != null)
                {
                    this.Children.Clear();
                }
                //注销单实例引用,避免内存泄露
                this.ModuleManager.LoadProgress -= new EventHandler <LoadProgressEventArgs>(ModuleManager_LoadProgress);
            }

            if (this.LoadModule != null)
            {
                this.LoadModule(this, e);
            }
        }