Zitat |
Eine StaticResource ist nicht notwendig. Die Controls erben alle den DataContext vom Window. Du verwendest für dein Vorhaben also ein normales Binding. |
Grrrr... Danke für die Antwort, ich hätte schwören können, dass ich das Probiert habe und einen Compiler-Fehler hatte... Hab also anscheinend doch irgendwas trotz x-maliger Überprüfung übersehen. Gut. Hatte mich eh gewundert, dass das nicht klappte.
Bisher läuft das mit den Bindings soweit super, ich bin immer mehr davon begeistert, wie einfach es doch im Endeffekt ist!
Ich habe vorhin auch den Beispiel-Converter benutzt, um die Bindings zu debuggen.
Und genau da bin ich jetzt:
1. ListView klappt, dem DataContext wird ein Objekt vom Typ
System.Windows.Data.ListCollectionView
übergeben und im GridView dann an eine Eigenschaft mit dem Bezeichner "Name" gebunden. Klappt.
Nun ein 2. ListView, auch dort erhalte ich mittels Converter als value ein Object von oben genannten Typ - jedoch ist die ListView leider leer. Value enthält auch die richtige Anzahl an Objekten (In meinem Fall heißen die "SubjectModel" mit der einzigen Eigenschaft Name, die auch richtig initialisiert wird) und der Zeiger "CurrentItem" zeigt auf das erste Objekt. Scheint also von der Datenlage her richtig zu sein. Nun der Code:
<ListView Grid.Row="2" Name="ScheduleListView" DataContext="{Binding ScheduleCollectionView, Converter={StaticResource DebugConverter}}">
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding Name,Converter={StaticResource DebugConverter}}" Header="Mein Name" />
</GridView>
</ListView.View>
Ich erhalte keinen Fehler in der Ausgabe und der Converter wird auch nur beim ListView - Binding aufgerufen, komischer Weise jedoch nicht beim DisplayMemberBinding der GridView...
Ferner habe ich auch schon probiert, die ObserveableCollection einfach nur mit Strings zu befüllen - klappt auch nicht.
Jemand eine Idee?
Danke & LG