private void MovePiece(object sender, RoutedEventArgs e) { var button = sender as Button; int row = Grid.GetRow(button); int column = Grid.GetColumn(button); RemovePiece(row, column); Grid.SetRow(selectedButton, row); Grid.SetColumn(selectedButton, column); int[] to = new int[] { switcher[row], column }; Move.DoMove(from, to); RemoveButtons(); int rotateAngle; if (Move.Turn == "White") { rotateAngle = 180; } else { rotateAngle = 0; } ChessBoard.RenderTransform = new RotateTransform(rotateAngle); foreach (var ui in ChessBoard.Children) { var uiElement = ui as Button; uiElement.RenderTransformOrigin = new Point(0.5, 0.5); uiElement.RenderTransform = new RotateTransform(rotateAngle); } }