Dies ist die Ausnahme, die ich bekomme, wenn ich versuche, an einen System.Type.Name zu binden.
Hier ist was ich mache:
%Vor%Gibt es einen Trick mit der Bindung an System.Type, ist es nicht erlaubt oder gibt es eine Workaround? Habe keine Probleme mit anderen Typen zu binden.
Tatsächlich gibt es eine spezielle Behandlung von Type ... dieser Ansatz wird in der IDE verwendet, um Meta-Daten im Voraus zu konfigurieren. Wenn Sie IDE-generierte Bindungen betrachten, tun sie Dinge wie:
%Vor%sagt: "Wenn wir echte Daten bekommen, erwarten wir MyObject isntance (s)"; Wenn Sie nach "Name" fragen, sucht es nach der Namenseigenschaft in MyObject - nicht nach dem Namen der Typinstanz. Dadurch können Grids usw. ihre Metadaten erhalten, ohne auf die echten Daten warten zu müssen. Sie können jedoch nicht an Typ "für echt" binden.
Der System.ComponentModel-Code ist identisch zwischen einfachen Bindungen und Listenbindungen (geben oder nehmen Sie einen Währungsmanager), so dass auch einfache Bindungen dieses Verhalten erben. Ebenso können Sie nicht an Eigenschaften einer Klasse binden, die IList / IListSource implementiert, da dies auf eine spezielle Weise interpretiert wird.
Ihre Extraklasse scheint ein vernünftiger Ansatz zu sein.
Einer der möglichen Gründe für diesen Fehler ist, dass Tabelle / Dataset keine Spalte angegeben hat. Speziell, im Falle von typisierten DataSet sicherstellen, dass Sie richtige Namen in XSD mit Spaltennamen aus Tabelle
übereinstimmenTags und Links c# data-binding asp.net