/*
         * 清空控件中的图片
         */
        private void removeBtnClick(object sender, RoutedEventArgs e)
        {
            Button removeBtn = (Button)sender;
            Canvas bg        = (Canvas)VisualTreeHelper.GetParent(removeBtn);
            Canvas imgCanvas = (Canvas)VisualTreeHelper.GetParent(bg);
            object tag       = imgCanvas.Tag;

            if (tag == null)
            {
                return;
            }
            TurnPictureImagesDto dto = (TurnPictureImagesDto)tag;

            dto.url            = "";
            dto.storageImageId = 0;
            imgCanvas.Tag      = dto;
            Button imgBtn = (Button)FrameworkElementUtil.getByName(imgCanvas, "imgBtn");

            imgBtn.Background = new ImageBrush
            {
                ImageSource = FileUtil.readImage(AppDomain.CurrentDomain.BaseDirectory + defaultBg)
                ,
                Stretch = Stretch.Uniform
            };
        }
 public void RaiseEvent(TurnPictureImagesDto dto, double width, double height, System.Windows.Point point)
 {
     if (TurnPictureItemEvent != null)
     {
         TurnPictureItemEvent(dto, width, height, point, currDControl.pageId);
     }
 }
        /*
         * 3.3插入层叠相册
         */
        public void insertMarqueLayerToPage(DControl ctl)
        {
            List <TurnPictureImagesDto> list = turnPictureImagesBll.getByDControlId(ctl.id);

            for (int i = 0; i < list.Count; i++)
            {
                TurnPictureImagesDto dto = list[i];
                if (dto == null)
                {
                    list.Remove(dto);
                }
                string imgNotExists = Params.ImageNotExists;
                if (i < 6 && dto.storageImageId == 0)
                {
                    imgNotExists = Params.TurnPictureNotExists[i];
                }
                string imgFullPath = FileUtil.notExistsShowDefault(dto.url, imgNotExists);
                dto.url = imgFullPath;
            }

            MarqueLayer marqueLayer = NewControlUtil.newMarqueLayer(ctl, list, false);

            loadAllAnimation(marqueLayer, ctl);
            mainContainer.Children.Add(marqueLayer);
            marqueLayer.MarqueLayerItemEvent += new MarqueLayerItemHandler(TurnPictureItemFun);
        }
        public EditMarqueWindow(Editing editing, FrameworkElement currElement)
        {
            InitializeComponent();
            WindowStartupLocation = WindowStartupLocation.CenterScreen;
            //  string imgs = "/myfile/upload/image/20200403/9a5d403792444230ac7aa853e34f3333/1-1Z521142300c1.jpg,/myfile/upload/image/20200403/d3964390c52641b0a35b34d6de6ec10a/1.png,/myfile/upload/image/20200403/9b2d0d40469d47fea6d3cc761f842b9f/2.png";
            //TurnPicture turnPicture = (TurnPicture) currentEle;
            this.editing     = editing;
            this.currElement = currElement;
            currDControl     = (DControl)currElement.Tag;
            List <TurnPictureImagesDto> list = turnPictureImagesBll.getByDControlId(currDControl.id);

            for (int i = 0; i < list.Count; i++)
            {
                TurnPictureImagesDto dto = list[i];
                if (dto == null)
                {
                    list.Remove(dto);
                }
                string imgNotExists = Params.ImageNotExists;
                if (i < 6 && dto.storageImageId == 0)
                {
                    imgNotExists = Params.TurnPictureNotExists[i];
                }
                string imgFullPath = FileUtil.notExistsShowDefault(dto.url, imgNotExists);
                dto.url = imgFullPath;
            }
            init(list);
        }
Example #5
0
 public void RaiseEvent(TurnPictureImagesDto dto, double width, double height, Point point)
 {
     if (MarqueItemEvent != null)
     {
         MarqueItemEvent(dto, width, height, point, currDControl.pageId);
     }
 }
        /*
         * 保存数据
         */
        private void Submit_Button_Click(object sender, RoutedEventArgs e)
        {
            //过滤掉空图片
            List <TurnPictureImagesDto> list = new List <TurnPictureImagesDto>();

            foreach (Canvas imgCanvas in imgList.Children)
            {
                object tag = imgCanvas.Tag;
                if (tag == null)
                {
                    continue;
                }
                TurnPictureImagesDto dto = (TurnPictureImagesDto)tag;
                if (dto.storageImageId == 0 && dto.url == "")
                {
                    turnPictureImagesBll.delete(dto.id);
                    continue;
                }
                list.Add(dto);
            }
            //更新到数据库
            turnPictureImagesBll.updateByDControlId(currDControl, list);


            //更新页面控件信息
            Marque marque = (Marque)currElement;

            marque.updateElement(currDControl, true, list);

            Close();
        }
Example #7
0
        /*
         * 3.3插入层叠相册
         */
        public void insertMarqueLayerToPage(DControl ctl)
        {
            List <TurnPictureImagesDto> list = turnPictureImagesBll.getByDControlId(ctl.id);

            //如果storageImageId=0,则显示替代的Params.TurnPictureNotExists[i]
            for (int i = 0; i < list.Count; i++)
            {
                TurnPictureImagesDto dto = list[i];
                if (dto == null)
                {
                    list.Remove(dto);
                }
                string imgNotExists = Params.ImageNotExists;
                if (i < 6 && dto.storageImageId == 0)
                {
                    imgNotExists = Params.TurnPictureNotExists[i];
                }
                string imgFullPath = FileUtil.notExistsShowDefault(dto.url, imgNotExists);
                dto.url = imgFullPath;
            }
            MarqueLayer marqueLayer = NewControlUtil.newMarqueLayer(ctl, list, true);

            System.Windows.Style myStyle = (System.Windows.Style)pageTemplate.container.FindResource("DefaultMarqueLayerStyle");
            marqueLayer.Style = myStyle;

            marqueLayer.PreviewMouseLeftButtonDown += control_MouseDown;
            marqueLayer.PreviewMouseMove           += control_MouseMove;
            marqueLayer.PreviewMouseLeftButtonUp   += control_MouseUp;
            //控件上右击显示菜单
            marqueLayer.MouseRightButtonUp += control_MouseRightButtonUp;
            pageTemplate.container.Children.Add(marqueLayer);
        }
        /*
         * 图片链接到
         */
        private void linkBtnClick(object sender, RoutedEventArgs e)
        {
            Button linkBtn           = (Button)sender;
            Canvas bg                = (Canvas)VisualTreeHelper.GetParent(linkBtn);
            Canvas imgCanvas         = (Canvas)VisualTreeHelper.GetParent(bg);
            TurnPictureImagesDto dto = (TurnPictureImagesDto)imgCanvas.Tag;

            EditTurnPictureLinkToWindow win = new EditTurnPictureLinkToWindow(linkBtn, dto);

            win.ShowDialog();
        }
        /*
         *  如果moveX>20,则进入下一个;如果 0<moveX<=20,回到原来位置
         *  如果moveX<-20,则进入上一个
         *  如果到达最后一个,则回到起始位置
         */
        private void listbox_PreviewMouseUp(object sender, MouseEventArgs e)
        {
            if (!isMoving)
            {
                TurnPictureImagesDto dto = list[turnImageWhich];
                //  if (dto.linkToPageId <= 0) return;
                System.Windows.Point point = new System.Windows.Point();
                point.X = currDControl.left;
                point.Y = currDControl.top;
                RaiseEvent(dto, currDControl.width, currDControl.height, point);
            }

            ListBox      listbox1 = (ListBox)sender;
            ScrollViewer sv       = FindVisualChild <ScrollViewer>(listbox1);
            double       ox       = 40;

            double width = listbox1.Width;
            int    count = listbox1.Items.Count;
            int    n     = (int)Math.Floor(offsetLeft / width);



            if (moveX > 0)
            {
                if (moveX > ox)
                {
                    n = n + 1;
                    if (n >= count)
                    {
                        n = count;
                    }
                }
            }
            else if (moveX < 0)
            {
                if (moveX < -ox)
                {
                    n = n - 1;
                    if (n < 0)
                    {
                        n = 0;
                    }
                }
            }

            //   textbox1.Text = "当前第几个:" + n;
            Set_ListBoxItem_ActiveAsync(listbox1, n);


            isMouseDown = false;
            listbox1.ReleaseMouseCapture();
            e.Handled = true;
        }
Example #10
0
        public EditTurnPictureLinkToWindow(Button linkBtn, TurnPictureImagesDto dto)
        {
            InitializeComponent();
            WindowStartupLocation = WindowStartupLocation.CenterScreen;
            this.linkBtn          = linkBtn;
            this.currDControl     = dControlBll.get(dto.dControlId);
            this.dto = dto;


            this.loadPageData();
            Submit_Button.Click += Submit_Button_Click;
        }
Example #11
0
        public static MarqueItemTag convert(TurnPictureImagesDto dto)
        {
            MarqueItemTag tag = new MarqueItemTag();

            tag.id             = dto.id;
            tag.dControlId     = dto.dControlId;
            tag.storageImageId = dto.storageImageId;
            tag.isLink         = dto.isLink;
            tag.url            = dto.url;

            return(tag);
        }
Example #12
0
        /*
         * 显示当前图片
         */
        private void initCurrImage(Button buttonImage, TurnPictureImagesDto dto)
        {
            string imgPath     = (dto == null ? Params.ImageNotExists : dto.url);
            string imgFullPath = FileUtil.notExistsShowDefault(imgPath, Params.ImageNotExists);

            imgFullPath            = AppDomain.CurrentDomain.BaseDirectory + imgFullPath;
            buttonImage.Background = new ImageBrush
            {
                ImageSource = FileUtil.readImage2(imgFullPath, 200)
                ,
                Stretch = Stretch.Uniform
            };
        }
Example #13
0
        /*
         * 6 右击-插入层叠相册
         */
        public void insertMarqueLayerClick(object sender, RoutedEventArgs e)
        {
            DControl dControl = new DControl();

            dControl.pageId  = App.localStorage.currPageId; /////////
            dControl.name    = "MarqueLayer";
            dControl.content = "";
            dControl.width   = 1260;
            dControl.height  = 450;
            dControl.left    = (int)rightClickLocation.X; /////////
            dControl.top     = (int)rightClickLocation.Y; /////////
            dControl.type    = "MarqueLayer";
            // dControl.url = "";//////////
            // dControl.imgs = "/myfile/sysimg/TurnPicture/1.jpg,/myfile/sysimg/TurnPicture/2.jpg,/myfile/sysimg/TurnPicture/3.jpg,/myfile/sysimg/TurnPicture/4.jpg,/myfile/sysimg/TurnPicture/5.jpg";
            dControl.idx                    = 1;////////
            dControl.autoplay               = true;
            dControl.loop                   = true;
            dControl.turnPictureSpeed       = 6000; //流动速度
            dControl.rowNum                 = 5;    //一行显示几个
            dControl.spacing                = 20;   //两图间距
            dControl.isShowTurnPictureArrow = true;


            //1、复制文件
            //String url = this.uploadImage(text);
            //2、插入文件库
            //StorageImage storageImage = storageImageBll.insert(text, url);


            //3、插入控件库
            // dControl.url = url;
            dControl = dControlBll.insert(dControl);
            //插入相册图片列表
            List <TurnPictureImagesDto> list = new List <TurnPictureImagesDto>();
            TurnPictureImagesDto        dto  = new TurnPictureImagesDto();

            dto.dControlId     = dControl.id;
            dto.storageImageId = 0;
            list.Add(dto);
            list.Add(dto);
            list.Add(dto);
            list.Add(dto);
            list.Add(dto);
            list.Add(dto);
            int rows = turnPictureImagesBll.insert(list);

            //4、插入页面
            insertMarqueLayerToPage(dControl);
        }
Example #14
0
        private void marque_stackPanel_PreviewTouchUp(object sender, TouchEventArgs e)
        {
            isMouseDown = false;
            if (!isMoving && currItem != null)
            {
                TurnPictureImagesDto dto = (TurnPictureImagesDto)currItem.Tag;

                GeneralTransform generalTransform1 = currItem.TransformToAncestor(this);
                Point            point             = generalTransform1.Transform(new Point(currDControl.left, currDControl.top));

                RaiseEvent(dto, currItem.Width, currItem.Height, point);
            }
            turnImage_Timer.Start();
            marque_scrollViewer.ReleaseTouchCapture(e.TouchDevice);
            e.Handled = true;
        }
        /*
         *  3.1 委托事件处理程序,链接到
         *
         *  相册、层叠相册、流动相册
         *
         */
        public void TurnPictureItemFun(TurnPictureImagesDto dto, double width, double height, Point point, int pageId)
        {
            if (dto == null)
            {
                return;
            }
            //当前主控件 相册  层叠相册  流动相册
            DControl mainDControl = dControlBll.get(dto.dControlId);

            if (mainDControl == null)
            {
                return;
            }


            DControlDto dControlDto = new DControlDto();

            dControlDto.id     = dto.id;
            dControlDto.width  = Convert.ToInt32(width);
            dControlDto.height = Convert.ToInt32(height);
            dControlDto.left   = Convert.ToInt32(point.X);
            dControlDto.top    = Convert.ToInt32(point.Y);
            dControlDto.pageId = pageId;


            this.DifferentScreenDifferentLinkTo(dControlDto, dto.id);

            if (mainDControl.isClickShow)
            {
                int frameWidth  = App.localStorage.cfg.screenWidth;
                int frameHeight = App.localStorage.cfg.screenHeight;
                if (dPage.width > 0)
                {
                    frameWidth = dPage.width;
                }
                if (dPage.height > 0)
                {
                    frameHeight = dPage.height;
                }

                Cfg cfg = new Cfg();
                cfg.screenWidth  = frameWidth;
                cfg.screenHeight = frameHeight;

                ShowBigImageUtil.showBigImage(dto.url, dControlDto, mainContainer, cfg);
            }
        }
Example #16
0
        private void marque_scrollViewer_PreviewMouseUp(object sender, MouseButtonEventArgs e)
        {
            if (isSupportTouch)
            {
                return;
            }
            isMouseDown = false;
            if (!isMoving && currItem != null)
            {
                TurnPictureImagesDto dto = (TurnPictureImagesDto)currItem.Tag;

                GeneralTransform generalTransform1 = currItem.TransformToAncestor(this);
                Point            point             = generalTransform1.Transform(new Point(currDControl.left, currDControl.top));
                RaiseEvent(dto, currItem.Width, currItem.Height, point);
            }

            turnImage_Timer.Start();
            marque_scrollViewer.ReleaseMouseCapture();
        }
        /*
         * 初始化一个图片控件
         */
        private Canvas initOneImage(TurnPictureImagesDto dto)
        {
            Canvas imgCanvas = new Canvas();

            imgCanvas.Name   = "imgCanvas";
            imgCanvas.Width  = 140;
            imgCanvas.Height = 140;
            imgCanvas.Margin = new Thickness(4, 10, 4, 10);
            imgCanvas.Tag    = dto;

            //1.按钮
            string imgPath     = (dto == null ? App.localStorage.icoAddImage : dto.url);
            string imgFullPath = FileUtil.notExistsShowDefault(imgPath, Params.ImageNotExists);

            imgFullPath = AppDomain.CurrentDomain.BaseDirectory + imgFullPath;
            Button btn = new Button();

            btn.Name       = "imgBtn";
            btn.Width      = 140;
            btn.Height     = 140;
            btn.Background = new ImageBrush
            {
                ImageSource = FileUtil.readImage2(imgFullPath, 200)
                ,
                Stretch = Stretch.Uniform
            };
            btn.Click += openDialogClick;

            //2.按钮行
            Canvas bg = new Canvas();

            bg.Name       = "bg";
            bg.Background = Brushes.Black;
            bg.Width      = 140;
            bg.Height     = 24;
            bg.Opacity    = 0.6;
            bg.SetValue(Canvas.BottomProperty, 0.0);
            bg.SetValue(Canvas.LeftProperty, 0.0);
            bg.Visibility = Visibility.Visible;
            if (dto == null)
            {
                bg.Visibility = Visibility.Collapsed;
            }


            Button lbtn = new Button();

            lbtn.Width           = 20;
            lbtn.Height          = 20;
            lbtn.BorderThickness = new Thickness(0);
            lbtn.Background      = new ImageBrush
            {
                ImageSource = FileUtil.readImage(AppDomain.CurrentDomain.BaseDirectory + "/myfile/sysimg/ico-index-left.png")
                ,
                Stretch = Stretch.Uniform
            };
            lbtn.SetValue(Canvas.LeftProperty, 0.0);
            lbtn.SetValue(Canvas.TopProperty, 2.0);
            bg.Children.Add(lbtn);
            lbtn.Click += lbtnClick;


            Button rbtn = new Button();

            rbtn.Width           = 20;
            rbtn.Height          = 20;
            rbtn.BorderThickness = new Thickness(0);
            rbtn.Background      = new ImageBrush
            {
                ImageSource = FileUtil.readImage(AppDomain.CurrentDomain.BaseDirectory + "/myfile/sysimg/ico-index-right.png")
                ,
                Stretch = Stretch.Uniform
            };
            rbtn.SetValue(Canvas.RightProperty, 0.0);
            rbtn.SetValue(Canvas.TopProperty, 2.0);
            bg.Children.Add(rbtn);
            rbtn.Click += rbtnClick;


            Button removeBtn = new Button();

            removeBtn.Width           = 20;
            removeBtn.Height          = 20;
            removeBtn.BorderThickness = new Thickness(0);
            removeBtn.Background      = new ImageBrush
            {
                ImageSource = FileUtil.readImage(AppDomain.CurrentDomain.BaseDirectory + "/myfile/sysimg/ico-image-remove.png")
                ,
                Stretch = Stretch.Uniform
            };
            removeBtn.SetValue(Canvas.LeftProperty, 40.0);
            removeBtn.SetValue(Canvas.TopProperty, 2.0);
            bg.Children.Add(removeBtn);
            removeBtn.Click += removeBtnClick;


            Button linkBtn = new Button();

            linkBtn.Width           = 20;
            linkBtn.Height          = 20;
            linkBtn.BorderThickness = new Thickness(0);
            if (dto != null)
            {
                if (dto.isLink)
                {
                    linkBtn.Background = new ImageBrush
                    {
                        ImageSource = FileUtil.readImage(AppDomain.CurrentDomain.BaseDirectory + "/myfile/sysimg/ico-image-link-active.png")
                        ,
                        Stretch = Stretch.Uniform
                    };
                }
                else
                {
                    linkBtn.Background = new ImageBrush
                    {
                        ImageSource = FileUtil.readImage(AppDomain.CurrentDomain.BaseDirectory + "/myfile/sysimg/ico-image-link.png")
                        ,
                        Stretch = Stretch.Uniform
                    };
                }
            }
            linkBtn.SetValue(Canvas.LeftProperty, 80.0);
            linkBtn.SetValue(Canvas.TopProperty, 2.0);
            bg.Children.Add(linkBtn);
            linkBtn.Click += linkBtnClick;



            imgCanvas.Children.Add(btn);
            imgCanvas.Children.Add(bg);
            //if (!string.IsNullOrWhiteSpace(img)) {
            //    bg.Visibility = Visibility.Hidden;
            //}

            return(imgCanvas);
        }
Example #18
0
        /*
         * 填充轮播图中的图片,设置宽度,并绑定点按钮事件
         */
        private void fillImage(DControl ctl, List <TurnPictureImagesDto> list)
        {
            marque_scrollViewer.Width = ctl.width;

            if (list == null || list.Count == 0)
            {
                //return;
            }

            System.Windows.Style itemStyle = (System.Windows.Style)FindResource("ListBoxItemStyle1");
            System.Windows.Style turnPicturePageButtonStyle = (System.Windows.Style)FindResource("TurnPicturePageButtonStyle");


            int i = 0;

            foreach (TurnPictureImagesDto dto in list)
            {
                i = i + 1;
                Button item = new Button();
                item.Name            = "item" + i;
                item.Width           = itemWidth;
                item.Height          = ctl.height;
                item.BorderThickness = new Thickness(0);
                item.AllowDrop       = true;
                //   item.Style = itemStyle;
                item.Background = System.Windows.Media.Brushes.Transparent;
                FileUtil.readImage2Button(item, AppDomain.CurrentDomain.BaseDirectory + dto.url, ctl.width / 3, Stretch.Fill);

                if (i > 1)
                {
                    item.Margin = new Thickness(ctl.spacing, 0, 0, 0);
                }
                item.Tag = dto;
                item.PreviewMouseDown += item_Click;
                item.PreviewTouchDown += item_Click;
                marque_stackPanel.Children.Add(item);


                ////添加point
                Button btn = new Button();
                btn.Width           = 8;
                btn.Height          = 8;
                btn.Margin          = new Thickness(3, 0, 3, 0);
                btn.Padding         = new Thickness(0);
                btn.BorderThickness = new Thickness(0);
                btn.Style           = turnPicturePageButtonStyle;
                pagePanel.Children.Add(btn);
            }


            if (list.Count > ctl.rowNum)
            {
                for (int a = 0; a < ctl.rowNum; a++)
                {
                    TurnPictureImagesDto dto = list[a];
                    Button item = new Button();
                    item.Name            = "itema" + a;
                    item.Width           = itemWidth;
                    item.Height          = ctl.height;
                    item.BorderThickness = new Thickness(0);
                    item.AllowDrop       = true;
                    //   item.Style = itemStyle;
                    item.Background = System.Windows.Media.Brushes.Transparent;
                    FileUtil.readImage2Button(item, AppDomain.CurrentDomain.BaseDirectory + dto.url, ctl.width / 3, Stretch.Fill);
                    item.Margin            = new Thickness(ctl.spacing, 0, 0, 0);
                    item.Tag               = dto;
                    item.PreviewMouseDown += item_Click;
                    item.PreviewTouchDown += item_Click;

                    marque_stackPanel.Children.Add(item);
                }
            }
        }
        /*
         * 点击打开上传图片
         */
        private void openDialogClick(object sender, RoutedEventArgs e)
        {
            Button btn       = (Button)sender;
            Canvas imgCanvas = (Canvas)VisualTreeHelper.GetParent(btn);
            int    idx       = imgList.Children.IndexOf(imgCanvas);
            object tag       = imgCanvas.Tag;


            System.Windows.Forms.OpenFileDialog ofld = new System.Windows.Forms.OpenFileDialog();
            ofld.Filter      = "图片|*.jpg;*.jpeg;*.png;*.gif;*.bmp";
            ofld.Multiselect = true;
            if (ofld.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                int i = 0;


                string[] fileNames = ofld.FileNames;
                foreach (string filename in fileNames)
                {
                    if (filename != "" || filename != null)
                    {
                        i = i + 1;
                        System.Drawing.Image sourceImage = System.Drawing.Image.FromFile(filename);
                        String       url          = uploadImage(btn, filename);
                        StorageImage storageImage = storageImageBll.insert(filename, url, sourceImage.Width, sourceImage.Height, 1);

                        //1.如果i>1,则直接在其后插入新的
                        if (i > 1)
                        {
                            TurnPictureImagesDto dto = new TurnPictureImagesDto();
                            dto.storageImageId = storageImage.id;
                            dto.dControlId     = currDControl.id;
                            dto.url            = storageImage.url;
                            TurnPictureImages turnPictureImages = turnPictureImagesBll.insert(dto);
                            dto.id = turnPictureImages.id;

                            Canvas canvas = initOneImage(dto);
                            imgList.Children.Insert(idx, canvas);
                            idx = idx + 1;
                            continue;
                        }
                        //2.如果Tag==null,则在其前面插入新的,
                        if (tag == null)
                        {
                            TurnPictureImagesDto dto = new TurnPictureImagesDto();
                            dto.storageImageId = storageImage.id;
                            dto.dControlId     = currDControl.id;
                            dto.url            = storageImage.url;
                            TurnPictureImages turnPictureImages = turnPictureImagesBll.insert(dto);
                            dto.id = turnPictureImages.id;
                            Canvas canvas = initOneImage(dto);
                            imgList.Children.Insert(idx, canvas);
                            idx = idx + 1;
                        }
                        //3.直接tag!=null,则更新当前图片
                        else
                        {
                            TurnPictureImagesDto dto = (TurnPictureImagesDto)tag;
                            dto.storageImageId = storageImage.id;
                            dto.dControlId     = currDControl.id;
                            dto.url            = storageImage.url;
                            imgCanvas.Tag      = dto;
                            turnPictureImagesBll.update(dto);
                            btn.Background = new ImageBrush
                            {
                                ImageSource = FileUtil.readImage2(AppDomain.CurrentDomain.BaseDirectory + url, currDControl.width)
                                ,
                                Stretch = Stretch.Uniform
                            };
                        }
                    }
                }
            }
        }