internal void DeselectItems(RatingItem ratingItem) { var children = LogicalChildren; if (children != null && children.MoveNext() && children.Current == ratingItem) { Value = 0; } }
private void UpdateItems(RatingItemUpdate action, RatingItem keyItem) { var children = LogicalChildren; if (children != null) { var update = action; var curValue = Value; var newValue = 0; var index = 0; while (children.MoveNext()) { var item = children.Current as RatingItem; if (item != null) { ++index; if (update == RatingItemUpdate.Rate) { item.Highlight(false); item.IsSelected = index <= curValue; } else { item.Highlight(update == RatingItemUpdate.Highlight); item.IsSelected = update == RatingItemUpdate.Select; if (update == RatingItemUpdate.Select) { ++newValue; } } } if (children.Current == keyItem) { update = RatingItemUpdate.Skip; } } if (action == RatingItemUpdate.Select) { Value = newValue; } } }
internal void SelectItems(RatingItem ratingItem) { UpdateItems(RatingItemUpdate.Select, ratingItem); }
internal void HighlightItems(RatingItem ratingItem) { UpdateItems(RatingItemUpdate.Highlight, ratingItem); }