Dein Codeausschnitt ist so klein, dass wir den Code nicht mal ausprobieren könnten, wenn wir das wollten.
Ich schlage dir vor, dass du den Code zuerst etwas aufräumst, dann löst sich das Problem von alleine.
Mach eine Methode (z.B. HitTest) um abzufragen, welche Zelle an einer bestimmten Koordinate liegt. In MouseEnter zeichnest du den Selektionsrahmen und merkst dir die selektierte Zelle. In MouseMove überprüfst du, ob die Maus überhalb einer neuen selektierten Zelle ist. Falls dies der Fall ist entfernst du die Selektion von der alten Zelle und zeichnest sie bei der neuen und merkst dir die neue Zelle. In MouseLeave entfernst du die Selektion. Das dürfte doch zu schaffen sein
