views:

323

answers:

2

In the code behind's CheckBox_Checked and CheckBox_Unchecked events, I'd like to be able to access the item in MyList that the checkbox is bound to.

Is there an easy way to do this?

<ListView ItemsSource="{Binding Path=MyList, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" MinHeight="100" MaxHeight="100">
  <ListView.View>
    <GridView>
      <GridViewColumn>                            
        <GridViewColumn.CellTemplate>
          <DataTemplate>
            <CheckBox Margin="-4,0,-4,0" IsChecked="{Binding MyBoolProperty}" Checked="CheckBox_Checked" Unchecked="CheckBox_Unchecked" />
          </DataTemplate>
        </GridViewColumn.CellTemplate>
      </GridViewColumn>
    </GridView>
  </ListView.View>
</ListView>
+2  A: 

The CheckBox.DataContext property will hold the bound item.

Charlie
@Phil: To be precise, check this http://stackoverflow.com/questions/2608187/wpf-listview-selecteditem-is-null/2608315#2608315
Veer
A: 

Do you want to get access to the object that the CheckBox is bound to, or the actual ListBoxItem that is used in the UI? If you just want the object the CheckBox is bound to, then @Charlie 's answer will work. Otherwise, you can call VisualTreeHelper.GetParent() until you reach the ListBoxItem.

Andy