I'm trying to detect when a ViewCell in a ListView is fully visible on screen, so I can do an action. Imagine something like what Vine or Facebook does that when you scroll up and down, the videos are set to auto play as soon as they are visible on screen. But you won't ever get two at the same time.
My app needs to do something similar. My ViewCell is pretty large, so it won't never have two cells fully visible on the screen. When one of them is fully visible I want to change the title of the page (or whatever other event, it's just an example use case).
I've tried using
this.Appearing += PageItem_Appearing;
this.Disappearing += PageItem_Disappearing;
inside a ViewCell, but it doesn't work. They seem to get called as soon as you get a bit of one of the cells into view, not when they are fully visible. They also don't seem to work well with disappearing (They are not on screen and they don't get called after a long while).
So, any idea how to achieve this? I've looked into some visible on screen method for the controls, so that I could manually detect when Labels and other things on the corners of the cells are visible, but I didn't find anything. So i'm at lost on how to achieve this.