public Tile MoveToNextGroup(Point StartPoint, TileLayoutControl TLC) { for (Double i = StartPoint.Y; i > 0; i -= 10) { if (TLC.ChildAt(new Point(StartPoint.X, i)) != null) { return(TLC.ChildAt(new Point(StartPoint.X, i)) as Tile); } } return(null); }
public Tile GetNextTileByDirrection(int SelectedTile, TileLayoutControl TLC, Key key) { Rect PrevTileRect = (TLC.Children[SelectedTile] as Tile).Bounds; Point P = GetNextPoinWithOffset(PrevTileRect, TLC.ItemSpace, key); Tile NextTile = TLC.ChildAt(P) as Tile; if (NextTile == null) { P = GetNextPoinWithOffset(PrevTileRect, TLC.LayerSpace, key);; NextTile = TLC.ChildAt(P) as Tile; } if (NextTile == null && (key == Key.Right || key == Key.Left)) { NextTile = MoveToNextGroup(P, TLC); } return(NextTile); }