/// <summary> /// The function which controls the interaction with a gameboard Canvas /// </summary> public void ProcessCanvas_Click(object sender, MouseButtonEventArgs e) { // cast our object back into a Canvas that we can manipulate Canvas canvas = (Canvas)sender; if (penteController.IsValidOption(XPos, YPos)) { canvas.Opacity = 1.0; canvas.Background = Brushes.Transparent; penteController.AttemptPlacement(XPos, YPos); UpdateChildShape(canvas); } }