public PuzzleRenderer(Canvas canvas,Puzzle puzzle) { this.canvas = canvas; this.puzzle = puzzle; canvas.Width = TileRenderer.DefaultWidth * puzzle.Size; canvas.Height = TileRenderer.DefaultHeight * puzzle.Size; foreach (Tile tile in puzzle.GetAllTiles()) { int tileNumber = tile.TargetPosition.VComponent*puzzle.Size + tile.TargetPosition.HComponent; string displayText = tileNumber.ToString(CultureInfo.InvariantCulture); TileRenderer tileRenderer = new TileRenderer(canvas, displayText, tile); tileRenderer.MouseUp += HandleClick; tileToRenderer.Add(tile, tileRenderer); } }