예제 #1
0
        /// <summary>
        /// Canvas拖拽
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void _canvasPanel_Drop(object sender, DragEventArgs e)
        {
            Point p = e.GetPosition(_canvasPanel);

            if (isDropLicense)
            {
                Canvas.SetLeft(selectLicenseItemControl, p.X);
                Canvas.SetTop(selectLicenseItemControl, p.Y);
            }
            else if (isDropQrCode)
            {
                Canvas.SetLeft(_borderqriamge, p.X);
                Canvas.SetTop(_borderqriamge, p.Y);
            }
            else
            {
                LicenseItemControl licenseitem = CreateLicenseItemControl(SelectField);
                Canvas.SetLeft(licenseitem, p.X);
                Canvas.SetTop(licenseitem, p.Y);
                _canvasPanel.Children.Add(licenseitem);
                property.Add(SelectField);
            }
            isDropLicense = false;
            isDropQrCode  = false;
        }
        public void AddLicenseItem(LicenseItem licenseItem)
        {
            LicenseItemControl licenseitem = new LicenseItemControl();

            licenseitem.IsSelect      = false;
            licenseitem.PropertyName  = licenseItem.PropertyName;
            licenseitem.PropertyValue = licenseItem.PropertyValue;
            Canvas.SetLeft(licenseitem, licenseItem.Left);
            Canvas.SetTop(licenseitem, licenseItem.Top);
            _canvasPanel.Children.Add(licenseitem);
        }
예제 #3
0
        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void _btnSave_Click(object sender, RoutedEventArgs e)
        {
            LicenseTemplete licenseTemplete = new LicenseTemplete();

            licenseTemplete.ActivityGuid = CO_IA.Client.RiasPortal.ModuleContainer.Activity.Guid;
            licenseTemplete.Height       = double.Parse(this._txtHeight.Text);
            licenseTemplete.Width        = double.Parse(this._txtWidth.Text);

            licenseTemplete.IsShowImage     = _chkImage.IsChecked.Value;
            licenseTemplete.BackgroundImage = this.backgroundImageSource;

            licenseTemplete.IsShowQRCode = _chkQRCode.IsChecked.Value;
            if (this.QRCodeImageSource == null)
            {
                MessageBox.Show("请生成二维码");
                return;
            }
            else
            {
                licenseTemplete.QRCode = this.QRCodeImageSource;
            }

            if (_canvasPanel.Children.Count > 0)
            {
                foreach (FrameworkElement itemcontrol in _canvasPanel.Children)
                {
                    if (itemcontrol.GetType() == typeof(LicenseItemControl))
                    {
                        LicenseItemControl licenseControl = (LicenseItemControl)itemcontrol;

                        LicenseItem licenseitem = new LicenseItem();
                        licenseitem.Left         = (double)licenseControl.GetValue(Canvas.LeftProperty);
                        licenseitem.Top          = (double)licenseControl.GetValue(Canvas.TopProperty);
                        licenseitem.PropertyName = licenseControl.PropertyName;
                        licenseTemplete.LicenseItems.Add(licenseitem);
                    }
                }
            }
            else
            {
                MessageBox.Show("请添加模板内容");
                return;
            }
            licenseTemplete.XMLLicenseItems = GetXmlByLicenseTemplete(licenseTemplete);
            try
            {
                SaveLicenseTemplete(licenseTemplete);
                MessageBox.Show("保存成功");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.GetExceptionMessage());
            }
        }
예제 #4
0
        private void licenseitem_MouseMove(object sender, MouseEventArgs e)
        {
            int time = e.Timestamp;

            if (e.LeftButton == MouseButtonState.Pressed)
            {
                selectLicenseItemControl = sender as LicenseItemControl;
                isDropLicense            = true;
                DragDrop.DoDragDrop(selectLicenseItemControl, sender, DragDropEffects.Move);
            }
        }
예제 #5
0
        private LicenseItemControl CreateLicenseItemControl(string propertyname)
        {
            LicenseItemControl licenseitem = new LicenseItemControl();

            licenseitem.AllowDrop          = true;
            licenseitem.PropertyName       = propertyname.Replace(" ", "");;
            licenseitem.PropertyValue      = "XX" + propertyname;
            licenseitem.MouseEnter        += licenseitem_MouseEnter;
            licenseitem.MouseMove         += licenseitem_MouseMove;
            licenseitem.DeleteLicenseItem += licenseitem_DeleteLicenseItem;
            return(licenseitem);
        }
예제 #6
0
 private void licenseitem_MouseEnter(object sender, MouseEventArgs e)
 {
     selectLicenseItemControl = sender as LicenseItemControl;
     foreach (FrameworkElement itemcontrol in _canvasPanel.Children)
     {
         if (itemcontrol.GetType() == typeof(LicenseItemControl))
         {
             LicenseItemControl licenseControl = (LicenseItemControl)itemcontrol;
             if (licenseControl != selectLicenseItemControl)
             {
                 licenseControl.IsSelect = false;
             }
         }
     }
     selectLicenseItemControl.IsSelect = true;
     isDropLicense = false;
 }
예제 #7
0
        private void InitLicenseTemplete()
        {
            licenseTemplete = FreqStationHelper.GetLicenseTemplete(CO_IA.Client.RiasPortal.ModuleContainer.Activity.Guid);
            if (licenseTemplete != null)
            {
                this._txtHeight.EditValue  = licenseTemplete.Height.ToString();
                this._txtWidth.EditValue   = licenseTemplete.Width.ToString();
                this.defaultheight         = licenseTemplete.Height;
                this.defaultwidth          = licenseTemplete.Width;
                this.BackgroundImageSource = licenseTemplete.BackgroundImage;
                this.QRCodeImageSource     = licenseTemplete.QRCode;
                this._chkImage.IsChecked   = licenseTemplete.IsShowImage;
                this._chkQRCode.IsChecked  = licenseTemplete.IsShowQRCode;

                XmlDocument xmldoc = null;
                try
                {
                    xmldoc = new XmlDocument();
                    xmldoc.LoadXml(licenseTemplete.XMLLicenseItems);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.GetExceptionMessage());
                    return;
                }

                XmlNode tempxmlnode = xmldoc.SelectSingleNode(FreqStationHelper.template);
                XmlNode xmlnode     = tempxmlnode.SelectSingleNode(FreqStationHelper.licenseItems);
                if (xmlnode != null && xmlnode.HasChildNodes)
                {
                    licenseTemplete.LicenseItems = FreqStationHelper.XMLLicenseItems(xmlnode);
                }
                if (licenseTemplete.IsShowQRCode)
                {
                    XmlNode qrpropertynode = tempxmlnode.SelectSingleNode(FreqStationHelper.qrCodeProperty);
                    if (qrpropertynode != null)
                    {
                        InitInitQRCodeProperty(qrpropertynode);
                    }

                    XmlNode qrfieldsnode = tempxmlnode.SelectSingleNode(FreqStationHelper.qrCodeFields);
                    if (qrfieldsnode != null && qrfieldsnode.HasChildNodes)
                    {
                        this.QRFields = FreqStationHelper.XMLQRCodeFields(qrfieldsnode);
                    }
                }

                foreach (LicenseItem item in licenseTemplete.LicenseItems)
                {
                    LicenseItemControl licenseitem = CreateLicenseItemControl(item.PropertyName);
                    Canvas.SetLeft(licenseitem, item.Left);
                    Canvas.SetTop(licenseitem, item.Top);
                    _canvasPanel.Children.Add(licenseitem);
                    property.Add(item.PropertyName);
                }
            }
            else
            {
                licenseTemplete = new LicenseTemplete();
            }
        }
예제 #8
0
 private void licenseitem_DeleteLicenseItem(LicenseItemControl obj)
 {
     _canvasPanel.Children.Remove(obj);
     property.Remove(obj.PropertyName);
 }