Классические элементы пользовательского интерфейса в Windows Presentation Foundation. Шамшев Ан. Б. - 46 стр.

UptoLike

Составители: 

45
Рис. 12. Элемент ListBox с элементами CheckBox
При использовании списка, вмещающего в себя разные элементы,
следует иметь в виду, что когда считывается значение SelectedItem так-
же коллекции SelectedItems и Items), объекты ListBoxItem не видны —
вместо них видны объекты, помещенные в список. В примере с элементом
управления CheckedListBox это означает, что SelectedItem представляет
объект CheckBox.
Ниже показан код, который реагирует на возникновение события Se-
lectionChanged. Принцип его действия следующий: он получает выделен-
ный в данный момент CheckBox и показывает, был ли этот элемент отме-
чен:
private void lst_SelectionChanged(object sender, RoutedEventArgs e)
{
// Select when checkbox portion is clicked (optional).
if (e.OriginalSource is CheckBox)
{
lst.SelectedItem = e.OriginalSource;
}
if (lst.SelectedItem == null) return;
txtSelection.Text = String.Format(
"You chose item at position {0}.\r\nChecked state is {1}.",
lst.SelectedIndex,
((CheckBox)lst.SelectedItem).IsChecked);