91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

WPF如何實現簡單的進度條

發布時間:2020-09-21 14:27:17 來源:億速云 閱讀:247 作者:小新 欄目:編程語言

WPF如何實現簡單的進度條?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!

最近做一個項目,看到以前同事寫的進度條效果不錯,所以,拿來簡化了下,不炫,但是項目中還是夠用的。

還是,先來看下調用以后的效果

WPF如何實現簡單的進度條

1、因為ProgressbBar的Foreground顯示不得不一樣,所以,要有一個參數去給控件進行設置,因此定義了一個參數值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如何實現簡單的進度條大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西乡县| 探索| 永胜县| 固安县| 保亭| 新建县| 西贡区| 大邑县| 准格尔旗| 兴海县| 平湖市| 锦屏县| SHOW| 瑞安市| 长葛市| 聂荣县| 读书| 镇原县| 哈巴河县| 泗阳县| 樟树市| 枣阳市| 崇左市| 开平市| 五莲县| 深泽县| 行唐县| 安岳县| 安宁市| 湖州市| 银川市| 平潭县| 游戏| 宁阳县| 镇巴县| 红安县| 邢台县| 荔浦县| 伊春市| 富源县| 汉沽区|