Laden...

[erledigt] Zusammenhang zwischen DataContext und Binding beim GridView

Erstellt von dsdsfga vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.020 Views
D
dsdsfga Themenstarter:in
53 Beiträge seit 2011
vor 12 Jahren
[erledigt] Zusammenhang zwischen DataContext und Binding beim GridView

Wie ist der Zusammenhang zwischen einem Binding und einem DataContext mit einem GridView im XAML-Code?

Mein Grid ist so definiert:

<ListView ItemsSource="{Binding Path=PersonCollection}" Name="grid" IsSynchronizedWithCurrentItem="true" SelectionMode="Single">
  <ListView.View>
    <GridView>
      <GridViewColumn Header="Vorname" DisplayMemberBinding="{Binding Firstname, Mode=TwoWay}"/>
      <GridViewColumn Header="Nachname" DisplayMemberBinding="{Binding Lastname, Mode=TwoWay}"/>
    </GridView>
  </ListView.View>
</ListView>

Wenn ich jetzt außerhalb auf den aktuellen Vornamen zugrifen will geht das nur so:

<TextBox DataContext="{Binding Path=PersonCollection}" Text="{Binding Path=Firstname, Mode=TwoWay}"/>

Das hier:

<TextBox Text="{Binding Path=PersonCollection.Firstname, Mode=TwoWay}"/>

Ist für mich equivalent funktioniert aber nicht. Wieso?

643 Beiträge seit 2006
vor 12 Jahren

DataContext musst du nicht angeben. Der gilt dann für alle Unterelemente der Textbox als Datenquelle, solange nix anderes bei den Unterelementen angegeben ist.

Du kannst Source verwenden um die Datenquelle anzugeben.
In Binding Path ist die Eigenschaft als Name hinterlegt. Bei DataContext und bei Source die Instanz.

D
dsdsfga Themenstarter:in
53 Beiträge seit 2011
vor 12 Jahren

Ah das legt die Instanz fest. Jetzt leuchtet mir so einiges ein.
Danke!