/// <summary> /// Inserts the sliders into the template. /// </summary> private void InsertSliders() { //int sliderCount = Pattern.Count; sliders = new List<SliderItem>(); if ((sliderGridDown == null) || (sliderGridUp == null)) return; sliderGridDown.Children.Clear(); sliderGridUp.Children.Clear(); int i = 0; SliderItem s; //SliderItem s0; for (int k = 0; k < Pattern.Count; k++) { int num = 1; if (Pattern[k].LedCount != 1) num = 2; for ( int j = 0; j < num; j++) { s = new SliderItem(this, i); sliders.Add(s); s.Minimum = Minimum; s.Maximum = Maximum; s.SmallChange = 1; s.TickFrequency = 1; s.LargeChange = 1; s.IsSnapToTickEnabled = true; s.PatternIx = k; s.Value = Pattern[k].LedPos; if (( num == 2 ) && ( j == 0)) s.Variant = 1; if ((num == 2) && (j == 1)) { s.Variant = 2; s.Value = Pattern[k].LedPos + Pattern[k].LedCount - 1; } s.GotMouseCapture += new System.Windows.Input.MouseEventHandler(SliderItemGotMouseCapture); s.ValueChanged += new RoutedPropertyChangedEventHandler<double>(OnSliderItemValueChanged); i++; } } for (int k = 0; k < sliders.Count; k++) { if (k % 2 == 0) // чётный sliderGridUp.Children.Add(sliders[k]); else // нечётный sliderGridDown.Children.Add(sliders[k]); } }
/************************************************************************/ #region Other Methods (private) private void SliderItemGotMouseCapture(object sender, System.Windows.Input.MouseEventArgs e) { if (selectedSliderItem != null) selectedSliderItem.IsSelected = false; SliderItem si = sender as SliderItem; clickedIx = si.Position; selectedSliderItem = si; selectedSliderItem.IsSelected = true; SelectedPoint = Pattern[si.PatternIx]; valueLabel.Text = ((int)selectedSliderItem.Value).ToString(); //SelectedPoint.LedPos = (int)selectedSliderItem.Value; }