// подписка на события private void EnableStateChange(Star str) { str.StateChanged += this.star_StateChanged; }
// отписка от событий private void DisableStateChange(Star str) { str.StateChanged -= this.star_StateChanged; }
// Инициализация (заполнение stackPanelStars объектами класса Star) private void InitializeStars() { this.stackPanelStars.Children.Clear(); int value = 1; for (int i = 0; i < this.Maximum; i++) { Star star = new Star(); star.OnColor = this.StarOnColor; star.OffColor = this.StarOffColor; star.Tag = value; // подписка на события star.StateChanged += star_StateChanged; star.MouseEnter += star_MouseEnter; star.MouseLeave += star_MouseLeave; value++; this.stackPanelStars.Children.Insert(i, star); } }