How to bind to CurrentItem of ICollectionView
Asked Answered
P

3

6

I want to a property to the current item of a ICollectionView how can I do it? The ICollectionView is used for binding to a combo box, how can I bind another control to the ICollectionView's selected item?

Poon answered 2/11, 2010 at 13:57 Comment(0)
C
9

Check out this cheat sheet. In particular, check out the / binding symbol, which references the current item in a collection view.

Coastwise answered 2/11, 2010 at 14:42 Comment(2)
That works great, I noticed that if I change the current item on the view source, the value doesn't update. Do I need a dependency property for this? Or maybe for this, I should use @Rachel's method?Poon
@jiewmeng, see John's response; you'll want to use IsSynchronizedWithCurrentItem.Coastwise
L
7

Setting IsSynchronizedWithCurrentItem on the ComboBox will update the current item with its selection (not sure if you're already doing this). You can then bind the same collection and access its current item with the binding:

<ComboBox ItemsSource="{Binding Names}" IsSynchronizedWithCurrentItem="True" />
<Button Content="{Binding Path=Names/}"/>
Lorettelorgnette answered 2/11, 2010 at 17:4 Comment(0)
O
3

Give your ComboBox a name and bind to it's SelectedItem.

For example:

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

<Grid DataContext={Binding ElementName=MyComboBox, Path=SelectedItem>
...
</Grid>
Oasis answered 2/11, 2010 at 15:12 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.