Welcome to Microsoft Q&A!
First, when the Scrollviewer slides, you need to find the item that is currently visible in the Gridview. Then you could trigger events for them.
You could check the following steps to do this.
1.Get the Scrollviewer object through FindVisualChild<T>.
2.Use MyGridViewItem.TransformToVisual(MyGridViewScrollViewer).TransformPoint(new Point(0, 0)) to get a Point object, which represents the top left corner of the item.
3.Take the ScrollViewer.HorizontalOffset Property ,which is your current lower bound for the current viewable region.
4.Take the HorizontalOffset plus the ScrollViewer.ViewportWidthProperty, which is the upper bound.
5.Judge location. If your Point.X is greater than your lower bound and less than your upper bound, then the item is visible. (The Scrollview in the example is a Horizontal Scrollviewer. If you're using a Vertical ScrollViewer, use the ViewportHeight.)
If the response is helpful, please click "Accept Answer" and upvote it.
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.