示例#1
0
        /// <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]);
            }
        }
示例#2
0
        /************************************************************************/

        #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;
        }