GUIにC#とWPFを使用しています。私の目標は、テキストボックスから取得したプログレスバーに文字列を表示することです。200msごとに1文字を表示したいので、文字列は完全にアニメーション化されます。WPFの進行状況バーに文字列を表示するにはどうすればよいですか?また、その表示をアニメーション化するにはどうすればよいですか?
1239 次
3 に答える
0
ProgressChanged をサブスクライブしますが、ProgressBar は使用しないでください。TextBox を新しいテキストで更新するだけです。
于 2012-11-20T21:38:24.127 に答える
0
Text
プロパティを試しましたか?
于 2012-11-20T21:22:44.617 に答える
0
をサブクラス化し、依存関係プロパティをProgressBar
追加してから、に基づいて部分文字列を返すコンバーターを使用しText
て、プロパティにバインドされた TextBox を含むテンプレートを作成することができます (または、クラス自体で処理することもできます)。 .Text
Value
ProgressBar
または、テキストブロックの上にグラデーション ブラシで四角形を重ねることで、さまざまな方法で偽装することができます。背景色が何であれ、ブラシは透明から不透明に変化する必要があり、グラデーションの位置は進行状況バーの値に関連付けられています。
これは、それを偽造するための本当に簡単で汚い例です。
<Grid>
<ProgressBar Name="MyBar" Minimum="0" Maximum="1" Value="0.6">
</ProgressBar>
<Grid>
<TextBlock>Some Text that will be covered depending on the value of the progress bar</TextBlock>
<Rectangle>
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<GradientStop Offset="0" Color="Transparent"/>
<GradientStop Offset="{Binding ElementName=MyBar, Path=Value}" Color="Transparent"/>
<GradientStop Offset="{Binding ElementName=MyBar, Path=Value}" Color="White"/>
<GradientStop Offset="1" Color="White"/>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
</Grid>
</Grid>
ProgressBar の値をいじると、グラデーション ブラシで透明と不透明の間の遷移が移動します。
于 2012-11-20T21:26:37.823 に答える