項目中用到圓形進度條,首先就想到使用 ProgressBar 擴展一個,在園子裏找到迷途的小榔頭給出的思路和部分代碼,本身加以實現。
html
進度小於60顯示紅色,大於60則顯示綠色。效果以下:spa
基本思路:.net
關鍵代碼:pwa
1. 修改ProgressBar的ControlTemplate。code
1 <ProgressBar Minimum="0" 2 Maximum="100" 3 Value="{Binding SuccessRate, Mode=OneWay}"> 4 <ProgressBar.Template> 5 <ControlTemplate TargetType="ProgressBar"> 6 <Border Background="{TemplateBinding Value, Converter={StaticResource ValueToProcessConverter}, ConverterParameter=200}"/> 7 </ControlTemplate> 8 </ProgressBar.Template> 9 </ProgressBar>
2. 實現根據值繪製扇形的轉換器。htm
見Demo。blog
3. 動態設置進度條依賴屬性Value。ip
參考文獻get
源碼下載源碼