Ich möchte eine Eigenschaft zu dem aktuellen Element einer ICollectionView
Wie kann ich es tun? Die ICollectionView
wird zum Binden an eine Combobox verwendet. Wie kann ich ein anderes Steuerelement an das ausgewählte Element ICollectionView
binden?Wie an CurrentItem von ICollectionView zu binden
5
A
Antwort
8
Überprüfen Sie diese cheat sheet. Überprüfen Sie insbesondere das Bindungssymbol /
, das auf das aktuelle Element in einer Sammlungsansicht verweist.
2
Geben Sie Ihrer ComboBox einen Namen und binden Sie sie an SelectedItem.
Zum Beispiel:
<ComboBox x:Name="MyComboBox" ItemsSource="{Binding MyList}" />
<Grid DataContext={Binding ElementName=MyComboBox, Path=SelectedItem>
...
</Grid>
6
Einstellung IsSynchronizedWithCurrentItem auf der ComboBox wird das aktuelle Element mit seiner Auswahl aktualisieren (nicht sicher, ob Sie bereits dies tun). Sie können dann dieselbe Sammlung binden und auf ihr aktuelles Element mit der Bindung zugreifen:
<ComboBox ItemsSource="{Binding Names}" IsSynchronizedWithCurrentItem="True" />
<Button Content="{Binding Path=Names/}"/>
Das funktioniert gut, ich habe festgestellt, dass wenn ich das aktuelle Element in der Ansichtsquelle ändern, wird der Wert nicht aktualisiert. Brauche ich eine Abhängigkeitseigenschaft dafür? Oder vielleicht sollte ich dafür @ Rachels Methode benutzen? –
@jiewmeng, siehe Johns Antwort; Sie möchten IsSynchronizedWithCurrentItem verwenden. –