2010-11-02 14 views
5

Quiero una propiedad para el elemento actual de ICollectionView ¿cómo puedo hacerlo? El ICollectionView se utiliza para vincular a un cuadro combinado, ¿cómo puedo vincular otro control al elemento seleccionado ICollectionView?Cómo enlazar a CurrentItem de ICollectionView

Respuesta

8

Echa un vistazo a este cheat sheet. En particular, consulte el símbolo de enlace /, que hace referencia al elemento actual en una vista de colección.

+0

Eso funciona muy bien, me di cuenta de que si cambio el elemento actual en la fuente de la vista, el valor no se actualiza. ¿Necesito una propiedad de dependencia para esto? ¿O tal vez para esto, debería usar el método de @Rachel? –

+1

@jiewmeng, ver la respuesta de John; querrá usar IsSynchronizedWithCurrentItem. –

2

Proporcione un nombre a su ComboBox y conéctelo a su SelectedItem.

Por ejemplo:

<ComboBox x:Name="MyComboBox" ItemsSource="{Binding MyList}" /> 

<Grid DataContext={Binding ElementName=MyComboBox, Path=SelectedItem> 
... 
</Grid> 
6

Configuración IsSynchronizedWithCurrentItem en el cuadro combinado se actualizará el elemento actual con su selección (no estoy seguro si ya está haciendo esto). A continuación, puede vincular la misma colección y acceder a su elemento actual con el enlace:

<ComboBox ItemsSource="{Binding Names}" IsSynchronizedWithCurrentItem="True" /> 
<Button Content="{Binding Path=Names/}"/>