Phil Sandler
Phil Sandler

Reputation: 28016

WPF: Checkbox in a ListView/Gridview--How to Get ListItem in Checked/Unchecked Event?

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>

Upvotes: 1

Views: 14456

Answers (2)

Andy
Andy

Reputation: 30418

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.

Upvotes: 0

Charlie
Charlie

Reputation: 15247

The CheckBox.DataContext property will hold the bound item.

Upvotes: 4

Related Questions