簡體   English   中英

如何在進度條控件C#中顯示字符串

[英]How to Display a String in a Progress Bar Control C#

我在GUI中使用C#和WPF。 我的目標是在從文本框中獲取的進度欄中顯示一個字符串。 我希望每200ms顯示1個字符,因此該字符串將自動完成動畫。 如何在WPF的進度欄中顯示字符串,以及如何對其顯示進行動畫處理?

您是否嘗試過Text屬性?

MSDN

您可以將ProgressBar子類化,添加Text依賴項屬性,然后為其創建一個模板,該模板將使用轉換器將綁定到Text屬性的TextBox包含在內,該轉換器將基於ProgressBarValue返回一個子字符串(或者您可以處理它在課程本身中)。

另外,您可以通過多種方式偽造它,方法是在文本塊上用漸變筆刷覆蓋矩形。 無論背景顏色是什么,畫筆都應從透明變為不透明,並且漸變的位置與進度條的值相關。

這是一個偽造的真實而又骯臟的例子:

<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的值,則將在漸變畫筆中的透明和不透明之間移動過渡。

訂閱ProgressChanged,但不要使用ProgressBar。 只需使用新文本更新TextBox。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM