最近あるプロジェクトに取り組んでいたのですが、前の同僚が書いたプログレスバーが非常に効果的だったので、それを簡略化しました。目障りではありませんが、それでもプロジェクトでは役に立ちます。
それでも、最初に呼び出し後の効果を見てみましょう
1. ProgressbBar の前景表示は同じである必要があるため、コントロールを設定するパラメーターが必要です。したがって、パラメーター値 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; } }
コード内に「LinearGradientBrush lgb = Dictionary["ForegroundColor" + value] as LinearGradientBrush;」というような文がありますが、これはこのパラメータを使用してスタイル ファイルからスタイルを取得することを容易にするためです。
<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>
2. ProgressBar なので、この値を表示するために TextBlock を使用して、ページへのリアルタイム通知を確保する必要があります。
public string ValueText {get{return _valueText; }set{ _valueText = value;if (this.PropertyChanged != null) {this.PropertyChanged.Invoke(this, new PropertyChangedEventArgs("ValueText")); } } }
3. バックグラウンドスレッドを有効にして進行状況エフェクトを継続的に更新します
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 + ""; }
ソースコード
以上がWPF で単純な進行状況バーを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。