private void Border_MouseEnter(object sender, MouseEventArgs e) { Border b = sender as Border; var square = b.DataContext as ChessSquare; var vm = FindResource("vm") as ChessViewModel; var cs = vm.hasSelected(); if (cs == null) { return; } else { BoardPosition bp = cs.Position; ChessMove cm = new ChessMove(bp, square.Position); foreach (var x in vm.PossibleMoves) { if (cm.Equals(x)) { square.IsHovered = true; } } } }