Xceed.Wpf.Toolkit.RangeSlider.GetThumbWidth C# (CSharp) Method

GetThumbWidth() static private method

static private GetThumbWidth ( System.Windows.Controls.Slider slider ) : double
slider System.Windows.Controls.Slider
return double
      internal static double GetThumbWidth( Slider slider )
      {
        if( slider != null )
        {
          var track = ( Track )slider.Template.FindName( "PART_Track", slider );
          if( track != null )
          {
            var thumb = track.Thumb;
            return  thumb.ActualWidth;
          }
        }
        return 0d;
      }

Usage Example

        private void AdjustView()
        {
            //Coerce values to make them consistent.
            var cv = this.GetCoercedValues();

            double actualWidth            = 0;
            double lowerSliderThumbWidth  = 0d;
            double higherSliderThumbWidth = 0d;

            if (this.Orientation == Orientation.Horizontal)
            {
                actualWidth            = this.ActualWidth;
                lowerSliderThumbWidth  = RangeSlider.GetThumbWidth(_lowerSlider);
                higherSliderThumbWidth = RangeSlider.GetThumbWidth(_higherSlider);
            }
            else if (this.Orientation == Orientation.Vertical)
            {
                actualWidth            = this.ActualHeight;
                lowerSliderThumbWidth  = RangeSlider.GetThumbHeight(_lowerSlider);
                higherSliderThumbWidth = RangeSlider.GetThumbHeight(_higherSlider);
            }

            actualWidth -= (lowerSliderThumbWidth + higherSliderThumbWidth);

            this.SetLowerSliderValues(cv.LowerValue, cv.Minimum, cv.Maximum);
            this.SetHigherSliderValues(cv.HigherValue, cv.Minimum, cv.Maximum);

            double entireRange = cv.Maximum - cv.Minimum;

            if (entireRange > 0)
            {
                this.HigherRangeWidth = (actualWidth * (cv.Maximum - cv.HigherValue)) / entireRange;

                this.RangeWidth = (actualWidth * (cv.HigherValue - cv.LowerValue)) / entireRange;

                this.LowerRangeWidth = (actualWidth * (cv.LowerValue - cv.Minimum)) / entireRange;
            }
            else
            {
                this.HigherRangeWidth = 0d;
                this.RangeWidth       = 0d;
                this.LowerRangeWidth  = actualWidth;
            }
        }
All Usage Examples Of Xceed.Wpf.Toolkit.RangeSlider::GetThumbWidth