Ejemplo n.º 1
0
        private static void OnEllipseWidthChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {
            MetroProgressBar_LTRE mProgressBar = (MetroProgressBar_LTRE)sender;

            //注意:当前还没有控件的 ActualWidth 值
            mProgressBar.MarginConvertRatio_Start = 0D;
            //(mProgressBar.EllipseWidth * 4 + mProgressBar.EllipseSpacing * 3) / mProgressBar.ActualWidth;
            mProgressBar.MarginConvertRatio_MiddleLeft =
                (mProgressBar.ActualWidth - mProgressBar.EllipseWidth * 4 - mProgressBar.EllipseSpacing * 3) / 2 / mProgressBar.ActualWidth;
            mProgressBar.MarginConvertRatio_MiddleRight =
                (mProgressBar.ActualWidth + mProgressBar.EllipseWidth * 4 + mProgressBar.EllipseSpacing * 3) / 2 / mProgressBar.ActualWidth;
            mProgressBar.MarginConvertRatio_End = 1D;
        }
Ejemplo n.º 2
0
        private static void OnEllipseSpacingChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {
            MetroProgressBar_LTRE mProgressBar = (MetroProgressBar_LTRE)sender;

            double ellipseLeftMargin_1 = 0D; // ((double)e.NewValue + mProgressBar.EllipseWidth) * 3;
            double ellipseLeftMargin_2 = 0D; //((double)e.NewValue + mProgressBar.EllipseWidth) * 2;
            double ellipseLeftMargin_3 = 0D; // (double)e.NewValue + mProgressBar.EllipseWidth;
            double ellipseLeftMargin_4 = 0D;

            mProgressBar.EllipseLeftMargin_1 = new Thickness(ellipseLeftMargin_1, 0, 0, 0);
            mProgressBar.EllipseLeftMargin_2 = new Thickness(ellipseLeftMargin_2, 0, 0, 0);
            mProgressBar.EllipseLeftMargin_3 = new Thickness(ellipseLeftMargin_3, 0, 0, 0);
            mProgressBar.EllipseLeftMargin_4 = new Thickness(ellipseLeftMargin_4, 0, 0, 0);

            //OnEllipseWidthChanged(sender, e);
        }