Exemple #1
0
        /*
         * 3.4插入视频  Video
         */
        public void insertVideoToPage(DControl ctl)
        {
            //获取视频所在的集合
            StorageVideo storageVideo = storageVideoBll.get(ctl.storageId);

            if (storageVideo == null)
            {
                storageVideo              = new StorageVideo();
                storageVideo.url          = "/myfile/sysimg/notExists/video.mp4";
                storageVideo.origFilename = "演示视频.mp4";
            }
            StorageVideoDto dto          = StorageVideoUtil.convert(storageVideo);
            StorageImage    storageImage = storageImageBll.get(dto.storageImageId);

            dto.storageImageUrl = storageImage?.url;


            Cfg    pageCfg = PageWidthUtil.getPageCfg(pageTemplate.dPage, App.localStorage.cfg);
            CVideo cVideo  = NewControlUtil.newCVideo(ctl, dto, pageCfg, pageTemplate.mqServer, true);

            System.Windows.Style myStyle = (System.Windows.Style)pageTemplate.container.FindResource("DefaultCVideoStyle");
            cVideo.Style = myStyle;
            cVideo.PreviewMouseLeftButtonDown += control_MouseDown;
            cVideo.PreviewMouseMove           += control_MouseMove;
            cVideo.PreviewMouseLeftButtonUp   += control_MouseUp;
            //控件上右击显示菜单
            cVideo.MouseRightButtonUp += control_MouseRightButtonUp;
            pageTemplate.container.Children.Add(cVideo);
        }
        public void ClickShowWeb(DControlDto ctl)
        {
            Int32  maxPagePercent = FrameUtil.getMaxPercent(App.localStorage.cfg.screenWidth, App.localStorage.cfg.screenHeight);
            double screenWidth    = SystemParameters.PrimaryScreenWidth;//得到屏幕整体宽度

            Cfg pageCfg   = PageWidthUtil.getPageCfg(dPage, App.localStorage.cfg);
            int winWidth  = (int)(pageCfg.screenWidth * maxPagePercent / 100);
            int winHeight = (int)(pageCfg.screenHeight * maxPagePercent / 100);

            App.localStorage.currForm1 = new Form1(winWidth, winHeight, ctl.linkToWeb, screenWidth);
            App.localStorage.currForm1.ShowDialog();


            //Int32 maxPagePercent = FrameUtil.getMaxPercent(App.localStorage.cfg.screenWidth, App.localStorage.cfg.screenHeight);
            //double screenWidth = SystemParameters.PrimaryScreenWidth;//得到屏幕整体宽度

            //Cfg pageCfg = PageWidthUtil.getPageCfg(dPage, App.localStorage.cfg);
            //int winWidth = (int)(pageCfg.screenWidth * maxPagePercent / 100);
            //int winHeight = (int)(pageCfg.screenHeight * maxPagePercent / 100);
            //App.localStorage.currForm1 = new Form1(winWidth, winHeight, ctl.linkToWeb, screenWidth);
            //App.localStorage.currForm1.Left = 500;
            //App.localStorage.currForm1.Top = pageTemplate1.screen.Bounds.Top;
            //App.localStorage.currForm1.Show();
            //App.localStorage.currForm1.BringToFront();

            //App.localStorage.currForm1.Click += currForm1_Click;
        }
        /*
         * 3.4插入视频  Video
         */
        public void insertVideoToPage(DControl ctl)
        {
            //获取视频所在的集合
            StorageVideo storageVideo = storageVideoBll.get(ctl.storageId);

            if (storageVideo == null)
            {
                storageVideo              = new StorageVideo();
                storageVideo.url          = "/myfile/sysimg/notExists/video.mp4";
                storageVideo.origFilename = "演示视频.mp4";
            }
            StorageVideoDto dto          = StorageVideoUtil.convert(storageVideo);
            StorageImage    storageImage = storageImageBll.get(dto.storageImageId);

            dto.storageImageUrl = storageImage?.url;

            //foreach (Window win in App.appWindowList)
            //{
            //    string type = win.GetType().Name;
            //    Console.WriteLine("窗口类型:" + type);
            //}


            Cfg    pageCfg = PageWidthUtil.getPageCfg(dPage, App.localStorage.cfg);
            CVideo cVideo  = NewControlUtil.newCVideo(ctl, dto, pageCfg, pageTemplate1.mqServer, false);

            loadAllAnimation(cVideo, ctl);
            mainContainer.Children.Add(cVideo);
        }
        /*
         * 4.1 返回按钮单击
         */
        public void backButtonClick(object sender, RoutedEventArgs e)
        {
            Button   backButton = (Button)sender;
            DControl dControl   = (DControl)backButton.Tag;

            DPage dPage = dPageBll.get(dControl.pageId);

            if (dPage.parentId <= 0)
            {
                return;
            }

            //设置返回哪一个页面
            dControl.linkToPageId = dPage.parentId;

            int pageSwitchType = dPage.pageSwitchType;

            if (pageSwitchType <= 0)
            {
                pageSwitchType = 1;
            }

            //1.默认
            if (pageSwitchType == 1)
            {
                PageTemplate page = new PageTemplate(pageTemplate1.mainFrame, dPage.parentId, true, true, pageSwitchType, pageTemplate1.screen, pageTemplate1.mqServer);
                pageTemplate1.NavigationService.Navigate(page);
                return;
            }
            //2.淡出
            if (pageSwitchType == 2)
            {
                TransformGroup group = new TransformGroup();
                pageTemplate1.RenderTransform = group;

                DoubleAnimation da = new DoubleAnimation(1.0, 0, new Duration(TimeSpan.FromMilliseconds(500)));
                da.BeginTime = TimeSpan.FromMilliseconds(0);
                IEasingFunction easingFunction = new SineEase()
                {
                    EasingMode = EasingMode.EaseIn
                };
                da.EasingFunction = easingFunction;
                da.Completed     += (sender1, e1) => fadeOut_Completed(dControl, true, pageSwitchType);
                pageTemplate1.BeginAnimation(UIElement.OpacityProperty, da);
                return;
            }

            //3.右侧移入 -> 左侧移出
            if (pageSwitchType == 3)
            {
                Border    CoverBorder = null;
                CFrameTag tag         = (CFrameTag)pageTemplate1.mainFrame.Tag;
                CoverBorder = tag.currCoverBorder;


                //截图
                string shotImage = ShotUtil.shot(pageTemplate1);
                //显示上一页
                BitmapImage bitmapImage = FileUtil.readImage(AppDomain.CurrentDomain.BaseDirectory + shotImage);
                CoverBorder.Background = new ImageBrush
                {
                    ImageSource = bitmapImage
                    ,
                    Stretch = Stretch.Fill
                };
                CoverBorder.Visibility = Visibility.Visible;
                CoverBorder.UpdateLayout();


                PageTemplate page = new PageTemplate(pageTemplate1.mainFrame, dPage.parentId, true, true, pageSwitchType, pageTemplate1.screen, pageTemplate1.mqServer);
                pageTemplate1.NavigationService.Navigate(page);


                //移出当前封面
                int pageWidth = PageWidthUtil.getPageWidth(dPage.width, App.localStorage.cfg.screenWidth);
                CoverBorderUtil.TranslateXMoveOut(CoverBorder, pageWidth);

                return;
            }


            //4.右侧拉伸 -> 左侧收缩
            if (pageSwitchType == 4)
            {
                pageTemplate1.mainFrame.Background = Brushes.White;
                Border    CoverBorder = null;
                CFrameTag tag         = (CFrameTag)pageTemplate1.mainFrame.Tag;
                CoverBorder = tag.currCoverBorder;
                //截图
                string shotImage = ShotUtil.shot(pageTemplate1);
                CoverBorder.Background = new ImageBrush
                {
                    ImageSource = FileUtil.readImage(AppDomain.CurrentDomain.BaseDirectory + shotImage)
                    ,
                    Stretch = Stretch.Fill
                };
                CoverBorder.Visibility = Visibility.Visible;

                //显示上一页
                PageTemplate page = new PageTemplate(pageTemplate1.mainFrame, dPage.parentId, true, true, pageSwitchType, pageTemplate1.screen, pageTemplate1.mqServer);
                pageTemplate1.NavigationService.Navigate(page);

                //移出当前封面
                CoverBorderUtil.ScaleXMoveOut(CoverBorder);
                return;
            }


            //5.中心放大 -> 中心收缩
            if (pageSwitchType == 5)
            {
                pageTemplate1.mainFrame.Background = Brushes.White;
                Border    CoverBorder = null;
                CFrameTag tag         = (CFrameTag)pageTemplate1.mainFrame.Tag;
                CoverBorder = tag.currCoverBorder;
                //截图
                string shotImage = ShotUtil.shot(pageTemplate1);
                CoverBorder.Background = new ImageBrush
                {
                    ImageSource = FileUtil.readImage(AppDomain.CurrentDomain.BaseDirectory + shotImage)
                    ,
                    Stretch = Stretch.Fill
                };
                CoverBorder.Visibility = Visibility.Visible;

                //显示上一页
                PageTemplate page = new PageTemplate(pageTemplate1.mainFrame, dPage.parentId, true, true, pageSwitchType, pageTemplate1.screen, pageTemplate1.mqServer);
                pageTemplate1.NavigationService.Navigate(page);

                //移出当前封面
                CoverBorderUtil.CenterMoveOut(CoverBorder);
                return;
            }
        }
        public void ClickShowBigImage(DControlDto ctl)
        {
            Cfg pageCfg = PageWidthUtil.getPageCfg(dPage, App.localStorage.cfg);

            ShowBigImageUtil.showBigImage(ctl.url, ctl, mainContainer, pageCfg);
        }