Ich verwende derzeit eine Linq-Vorlage mit SubSonic3, um meine Modelle zu erstellen. Ich habe eine einfache Member-Klasse, die eine Sammlung von Notes enthält. Eine Note-Klasse verfügt über die Eigenschaften "PublishedDate" und "Titel".Indirekte Bindung an untergeordnete Sammlungen in XAML
Ich habe ein UserControl, das eine Sammlung von Mitgliedern für seine DataContext
hat. Es gibt zwei ListBoxes
und eine Reihe von TextBoxes
und andere Steuerelemente darauf. Die erste ListBox
(membersList) erhält ihre ItemsSource
aus dem DataContext UserControl
und es zeigt einige Element Eigenschaften in jedem Element. Ich möchte die zweite ListBox
(notesList), um die Notes-Auflistung des Mitglieds anzuzeigen, die in der ersten ListBox
ausgewählt wurde.
Bisher auf notesList ich habe:
<ListBox ... ItemsSource="{Binding Notes}"...>
<DataTemplate>
<TextBox Text="{Binding Title}"/>
</DataTemplate>
Es funktioniert teilweise. Wenn ich ein Mitglied auswähle, das Notizeinträge hat, gibt es die richtige Anzahl von Einträgen in notesListBox
, aber das ist nur in den alternierenden Zeilenfarben sichtbar - nichts anderes! Die DataTemplate
wird nicht den Titel der Notiz wiedergeben. Grundsätzlich funktionieren alle visuellen Stile in den ListBox
und ListBoxItem
- wechselnden Farben, Auswahlrahmen, Mouseover, etc., aber der Inhalt wird nicht angezeigt. Ich habe das Gefühl, das Problem ist meine Binding-Syntax, aber ich kann nicht herausfinden, was los ist.
Alle Vorschläge würden sehr geschätzt werden.
Prost, Dany.
Hallo Reed, danke für die schnelle Antwort. Ja, ich habe bereits einen ContentPresenter in der Steuerelementvorlage. Die ControlTemplates sind für membersList und notesList identisch - der einzige Unterschied sind die DataTemplates. Die list ListBox von membersList wird sehr schön angezeigt, die einzige problematische ist notesListBox. – codedog