Maison > développement back-end > Tutoriel C#.Net > Comment implémenter une simple barre de progression dans WPF ?

Comment implémenter une simple barre de progression dans WPF ?

零下一度
Libérer: 2017-06-23 15:17:55
original
4574 Les gens l'ont consulté

Je travaillais sur un projet récemment, et j'ai vu que la barre de progression écrite par mon ancien collègue était très efficace, je l'ai donc simplifiée, ce n'est pas fulgurant, mais c'est quand même suffisant pour le projet.

Jetons également un coup d'œil à l'effet après l'appel d'abord

1 Parce que l'affichage au premier plan de ProgressbBar doit être le même, il doit y en avoir. être un paramètre pour Le contrôle est défini, donc une valeur de paramètre ForegroundColor

public int ForegroundColor
{get{return _foregroundColor;
    }set{
        _foregroundColor = value;
        LinearGradientBrush lgb = dictionary["ForegroundColor" + value] as LinearGradientBrush;if (lgb != null)
            proBar.Foreground = txt.Foreground = percent.Foreground = lgb;
    }
}
Copier après la connexion

est définie Il y a une telle phrase dans le code "LinearGradientBrush lgb = dictionnaire["ForegroundColor" +. value] as LinearGradientBrush;" Il est pratique d'utiliser ce paramètre pour obtenir le style du fichier de style.

<LinearGradientBrush x:Key="ForegroundColor1" EndPoint="1,0.5" StartPoint="0,0.5"><GradientStop Color="#FFBBF586" Offset="0.5"/><GradientStop Color="#FFD4F9C3" Offset="1"/></LinearGradientBrush><LinearGradientBrush x:Key="ForegroundColor2" EndPoint="1,0.5" StartPoint="0,0.5"><GradientStop Color="#FF5BE26E" Offset="0.5"/><GradientStop Color="#FF8DEC9C" Offset="1"/></LinearGradientBrush><LinearGradientBrush x:Key="ForegroundColor3" EndPoint="1,0.5" StartPoint="0,0.5"><GradientStop Color="#FFB656F2" Offset="0.5"/><GradientStop Color="#FFAE8DFE" Offset="1"/></LinearGradientBrush><LinearGradientBrush x:Key="ForegroundColor4" EndPoint="1,0.5" StartPoint="0,0.5"><GradientStop Color="#FF3AE9E9" Offset="0.5"/><GradientStop Color="#FF8DFDFE" Offset="1"/></LinearGradientBrush>
Copier après la connexion

2. Puisqu'il s'agit d'une ProgressBar, elle doit avoir une valeur de progression Nous utilisons TextBlock pour afficher cette valeur. Nous devons implémenter l'interface de notification pour assurer une notification en temps réel. . sur la page.

public string ValueText
{get{return _valueText;
    }set{
        _valueText = value;if (this.PropertyChanged != null)
        {this.PropertyChanged.Invoke(this, new PropertyChangedEventArgs("ValueText"));
        }
    }
}
Copier après la connexion

3. Activer un fil d'arrière-plan pour mettre à jour en permanence l'effet de progression

private void Bgw_DoWork(object sender, DoWorkEventArgs e)
{for (int i = 0; i < BarValue; i++)
    {
        System.Threading.Thread.Sleep(50);
        proBar.Dispatcher.Invoke(new Action(                                     delegate{if (proBar.Value <= BarValue)
            {
                proBar.Value++;
            }
        }));
        ValueText = i + "";
    }
    ValueText = BarValue + "";
}
Copier après la connexion

Code source

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal