Looks like Microsoft has changed the names of private fields in ListView to start with an underscore. I needed to add the following to VirtualObjectListView.cs. if NET7_0_OR_GREATER virtualListSizeFieldInfo = typeof(ListView).GetField( "_virtualListSize", BindingFlags.NonPublic | BindingFlags.Instance); else virtualListSizeFieldInfo = typeof(ListView).GetField("virtualListSize", BindingFlags.NonPublic | BindingFlags.Instance); endif I also changed ObjectListView.DesignTime.Cs, but not sure if that...