WPF: флажок в ListView / Gridview - Как получить ListItem в событии Checked / Unchecked? - PullRequest
1 голос
/ 22 апреля 2010

В коде событий CheckBox_Checked и CheckBox_Unchecked я хотел бы иметь возможность доступа к элементу в MyList, к которому привязан флажок.

Есть ли простой способ сделать это?

<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 ]

4 голосов
/ 22 апреля 2010

Свойство CheckBox.DataContext будет содержать связанный элемент.

0 голосов
/ 22 апреля 2010

Хотите ли вы получить доступ к объекту, к которому привязан CheckBox, или к фактическому ListBoxItem, который используется в пользовательском интерфейсе? Если вам просто нужен объект, с которым связан CheckBox, тогда ответ @Charlie будет работать. В противном случае вы можете вызывать VisualTreeHelper.GetParent () , пока не достигнете ListBoxItem.

...