public void AddBlock( AbstractBlock newBlock, Point pos ) { if ( newBlock == null || pos == null ) return; if ( newBlock.Parent != null ) newBlock.RemoveParent(); //newBlock.Margin = new Thickness( pos.X, pos.Y, 0, 0 ); if ( IsExist( newBlock ) ) Board.Children.Remove( newBlock ); Board.Children.Add( newBlock ); Canvas.SetLeft(newBlock, pos.X); Canvas.SetTop(newBlock, pos.Y); Canvas.SetRight(newBlock, pos.X + newBlock.Width); Canvas.SetBottom(newBlock, pos.Y + newBlock.Height); }