DataBinding in WPF funktioniert nur mit öffentlichen Eigenschaften.
MSDN :
Die Eigenschaften, die Sie als Bindungsquelleneigenschaften für eine Bindung verwenden, müssen Seien Sie öffentliche Eigenschaften Ihrer Klasse. Explizit definierte Schnittstelle auf Eigenschaften kann nicht für bindende Zwecke zugegriffen werden, noch kann geschützt werden, private, interne oder virtuelle Eigenschaften, die keine Basis haben Implementierung
Wenn Sie das wirklich wirklich tun wollten, müssten Sie einen benutzerdefinierten Typdeskriptor bereitstellen, indem Sie ICustomTypeDescriptor
implementieren - das die zusätzliche Eigenschaft über eine benutzerdefinierte PropertyDescriptor
neben den regulären öffentlichen Eigenschaften bereitstellt. Sie können diese Schnittstelle für den Typ selbst oder über TypeDescriptionProvider
; Letzteres wird bevorzugt, da es in mehreren Szenarien funktioniert (Dinge wie leere Listen, ohne dass auch eine benutzerdefinierte Liste mit einer ITypedList
-Implementierung bereitgestellt werden muss). Dies ist ein viel Arbeit, und es wirklich ist es nicht wert, außer in extremen Fällen. Aber es kann getan werden.
Sie benötigen eine Relative-Source-Bindung, jetzt ist Ihre Bindung an den DataContext Ihres ItemBuySellAddEdit
(FrameworkElement) Atleast, das ist meine Impression, weil Sie partial
verwenden. Wenn es sich um ein ViewModel handelt, überprüfen Sie das Ausgabefenster und suchen Sie nach verbindlichen Fehlern.
Aber die Antwort von Stephan Bauer gilt immer noch.
Berücksichtigen Sie auch die Antwort von WaltiD, wenn neue Elemente in dieser Liste automatisch angezeigt werden sollen.
Tags und Links wpf c# data-binding xaml