private void Element_DataChanged(object sender, ElementControlEventArgs e) { var el = new CardElement(); switch (e.Type) { case 0: var cb = new CardBackground(); cb.layer = e.Layer; cb.x = (int)e.Locate.X; cb.y = (int)e.Locate.Y; cb.bgPath = e.Path; card.Set(e.Layer, cb); break; case 1: var cf = new CardFram(); cf.layer = e.Layer; cf.x = (int)e.Locate.X; cf.y = (int)e.Locate.Y; cf.bgPath = e.Path; card.Set(e.Layer, cf); break; case 2: var ci = new CardImage(); ci.layer = e.Layer; ci.x = (int)e.Locate.X; ci.y = (int)e.Locate.Y; ci.bgPath = e.Path; ci.Width = elements[e.Layer].pictureWidth.Value; ci.Height = elements[e.Layer].pictureHeight.Value; card.Set(e.Layer, ci); break; case 3: var cn = new CardImgNum(); cn.layer = e.Layer; cn.x = (int)e.Locate.X; cn.y = (int)e.Locate.Y; cn.bgPath = e.Path; cn.num = e.Num; card.Set(e.Layer, cn); break; case 4: var ct = new CardText(); ct.layer = e.Layer; ct.x = (int)e.Locate.X; ct.y = (int)e.Locate.Y; ct.bgPath = e.Path; ct.Text = e.Text; card.Set(e.Layer, ct); break; } Render(); }
void DrawImageNum(CardImgNum cn, ref DrawingGroup drawingGroup) { using (DrawingContext drawingContext = drawingGroup.Append()) { string path = cn.GetBackGroundPath(); if (path == "") { return; } //BitmapImage source = new BitmapImage(new Uri(path)); //CroppedBitmap CroppedSource = new CroppedBitmap(source, new Int32Rect(0, 0, halfWidth, height)); //drawingContext.DrawImage(source, new Rect(cn.x, cn.y, cn.Width, cn.Height)); } }