More specifically, the .Leave event is fired when the currently selected cell is scrolled out of view (up or down). Curiously, no Enter event is fired when it is scrolled back in view but a Leave *will* be fired again if you continue scrolling. And in neither case is Got/LostFocus() fired. I don't usually like to call things bugs in frameworks like this as I usually find the reason or solution as soon as I do. Depending on what you want to do when focus is lost and gained, I think you can find a pattern of events to identify this situation. For example, clicking between cells causes: GotFocus, CurrentCellChanged, LostFocus However in the scrolling scenario: Leave, Validating, Validated