Ich versuche WPF zu lernen, indem ich ein aufrichtig alptraumhaftes Projekt entwirre, das von dem Typen geschrieben wurde, der in diesem Job vor mir war. Entschuldigung, wenn einige meiner Fragen ziemlich Hausaufgaben-Ebene sind, aber ich versuche zu erarbeiten, was XAML vorhanden ist, mit einem unzureichenden Verständnis der Konzepte dahinter ...Was bedeutet ItemsSource = "{Binding}"?
Wie auch immer, ich habe ein ListView mit diesem als Teil seiner Definition:
<ListView
DataContext="{StaticResource XMLFileGroups}"
ItemContainerStyle="{StaticResource XMLItemStyle}"
ItemsSource="{Binding}">
Jetzt kann ich irgendwie bekommen, meinen Kopf um, was die „Datacontext“ und „ItemContainerStyle“ Linien tun; Sie verweisen auf eine Methode zum Sortieren einer vorhandenen Liste und auf eine Struktur, die ein bestimmtes visuelles Verhalten der ListView definiert.
Was mich ruiniert, ist die Tatsache, dass die ItemsSource als "{Binding}" aufgeführt ist. Alles, was mir sagt, ist, dass es irgendeine Art von Datenbindung gibt, aber ich verstehe nicht, wie die Zeile möglicherweise sinnvoll sein kann, und das Entfernen verhindert, dass Daten angezeigt werden.
Kann jemand etwas Licht auf das werfen, was hier passiert, oder wo ich nach der verbindlichen Definition suchen sollte? Ich verstehe einfach nicht, was ich hier sehe.
Also "{Binding}" verweist speziell auf die Sammlung zurück, die von der DataContext-Eigenschaft der ListView erstellt wird? Ist das etwas, das im Allgemeinen für Objekte vom Typ View oder für ListView spezifisch ist? Ich entschuldige mich dafür, dass ich um mehr Informationen bettle, aber ich bin mir sicher, dass Sie wissen, dass die Suche nach 'ItemsSource = "{Binding}' nicht eng genug ist, um viele Ergebnisse zu erhalten. Daher stelle ich diese Frage in der ersten Frage Platz ... – Frosty840
Ich bin mir nicht sicher, was Sie fragen. '{Binding}' kann in jedem Kontext verwendet werden, in dem der Wert, an den Sie binden möchten, der 'DataContext' selbst ist. Es wird am häufigsten zum Binden einer DataSource verwendet. – SLaks
Ich dachte, das wäre der Fall, aber ich konnte mir nicht wirklich sicher sein. Danke für die Klarstellung. – Frosty840