0

Ich arbeite an einem Problem mit UWP-Anwendung mit Xamarin.Forms. Ich habe bemerkt, dass Listenansichtselemente standardmäßig wiederverwendet und in UWP wiederverwendet werden. Für eine Instanz, wenn ich das erste Element in einer Listenansicht aktualisiere (entweder die neuen Werte oder sogar den Stil), werden die vierten, siebten, zehnten usw. Elemente in der Liste mit dem gleichen Wert oder Stil aktualisiert. Laut this article ist dies ein Verhalten nach Entwurf.Deaktivieren UI-Virtualisierung auf Xamarin Forms mit UWP Windows Mobile 10

Ich habe einige experimentelle Möglichkeiten und auch Umgehungslösungen ausprobiert, die in this article vorgeschlagen wurden, auch ListViewCachingStrategy, um es zu überschreiben oder zu deaktivieren, aber ich hatte keine Chance, es zu beheben.

Hat jemand dieses Problem konfrontiert ?! Gibt es überhaupt überhaupt, dass UI-Virtualisierung auf UWP Windows Mobile 10 deaktiviert oder außer Kraft gesetzt werden kann?

Antwort

0

Sie könnten versuchen, ListViewCachingStrategy aus der Dokumentation verwenden heißt es:

Zeigt an, dass für jedes Element in der ItemsView.ItemsSource Unterkunft Listenansicht ein einzelnes einzigartiges Element wird aus dem Datatemplate aufgebaut sein.

Sie können entweder es im Code verwenden, etwa so:

var listView = new ListView(ListViewCachingStrategy.RecycleElement); 

oder in XAML:

<ListView CachingStrategy="RecycleElement"> 
    <ListView.ItemTemplate> 
     <DataTemplate> 
      <ViewCell> 
       ... 
      </ViewCell> 
     </DataTemplate> 
    </ListView.ItemTemplate> 
</ListView> 

Weitere Informationen über die Verwendung dieses here

Ob das Xamarin.Forms Teams umgesetzt haben Dies ist eine weitere Frage für Windows 10 Mobile

+0

Ich habe versucht, ListViewCachingStrategy vorher einzustellen und hatte das gleiche Verhalten beobachtet. Danke für die Antwort sowieso, aber ich suche entweder eine Antwort oder einen Workaround für die letzte Frage. – DeveloperX

+0

Ich habe meine Frage aktualisiert. – DeveloperX

+0

@DeveloperX Sie könnten Ihr eigenes Steuerelement erstellen, das ein 'ScrollView' ist, das ein' StackLayout' mit 'Listview Items' im' StackLayout' enthält. Dies wäre im Wesentlichen eine Liste ohne Virutalisierung. Aber ich würde nicht empfehlen, dies zu tun, da die Leistung schrecklich wäre. Ich denke von Ihrer Frage, es klingt wie ein 'Xamarin'-Bug und sollte [hier] (https://bugzilla.xamarin.com/) abgelegt werden – user1

Verwandte Themen