/// <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); }
/// <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()); } }
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); } }
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); }
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; }
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(); } }
private void licenseitem_DeleteLicenseItem(LicenseItemControl obj) { _canvasPanel.Children.Remove(obj); property.Remove(obj.PropertyName); }