ListView Cell Translation manipulation affects other cells

I'm working on a custom SwipeListView which allows to swipe cells to the left or to the right, currently only for Android. This works perfectly fine, but for some reason changing TranslationX of the Cell's ContentView affects other cells in the ListView. Every 8th cell changes it's TranslationX too (at least visually):

Swipe Bug

This is the line of code which results in this behavior:

mainContent.TranslationX = quota * Width + mainContentPositionX;

I've tried some possible solutions, none of them worked:

  • Try every different CachingStrategy for the ListView (RetainElement, RecycleElement, RecycleElementAndDataTemplate)
  • Run code on MainThread
  • After manipulating TranslationX, iterate through all other cells in my ListView and set their TranslationX to 0

I'm was sure the problem is that the cell is being reused and that's why it applies the TranslationX manipulation, but if it's that then I'm confused why using CachingStrategy=RetainElement doesn't solve the issue.

I'm thankful for every idea which I can work on to solve this.