protected override void ChildItemStateChanged(CarouselItem item, CarouselItemState value) { base.ChildItemStateChanged(item, value); switch (value) { case CarouselItemState.Selected: updateSelected(item); break; case CarouselItemState.NotSelected: case CarouselItemState.Collapsed: attemptSelection(); break; } }
protected virtual void ChildItemStateChanged(CarouselItem item, CarouselItemState value) { // ensure we are the only item selected if (value == CarouselItemState.Selected) { foreach (var b in InternalChildren) { if (item == b) { continue; } b.State.Value = CarouselItemState.NotSelected; } State.Value = CarouselItemState.Selected; } }