private void AssociatedObject_ItemCheckedStateChanged(object sender, ItemCheckedStateChangedEventArgs e) { if (SelectedItems == null) { SelectedItems = new ObservableCollection <T>(); } var item = e.Item as T ?? ((Telerik.Windows.Data.IDataSourceItem)e.Item).Value as T; if (item == null) { return; } if (e.IsChecked) { if (SelectedItems.Contains(item)) { return; } SelectedItems.Add(item); } else { SelectedItems.Remove(item); if (SelectedItems != null && !SelectedItems.Any() && TurnSelectionOffOnEmpty) { AssociatedObject.IsCheckModeActive = false; } } }
private void lbLocos_ItemCheckedStateChanged(object sender, ItemCheckedStateChangedEventArgs e) { Locomotive item = (e.Item as Locomotive) ?? ((e.Item as IDataSourceItem).Value as Locomotive); if (e.IsChecked && ItemChecked != null) ItemChecked(sender, new ItemEventArgs(item)); if (!e.IsChecked && ItemUnchecked != null) ItemUnchecked(sender, new ItemEventArgs(item)); }
private void lbAccessories_ItemCheckedStateChanged(object sender, ItemCheckedStateChangedEventArgs e) { Accessory item = (e.Item as Accessory) ?? ((e.Item as IDataSourceItem).Value as Accessory); if (e.IsChecked && ItemChecked != null) ItemChecked(sender, new ItemEventArgs(item)); if (!e.IsChecked && ItemUnchecked != null) ItemUnchecked(sender, new ItemEventArgs(item)); }