我想要一个进度条来改变它的颜色,具体取决于当前值的范围。我想知道进度条上是否有一个属性可以绑定一个视图模型属性来改变颜色。 WPF进度条上是否存在此类属性?
答案 0 :(得分:2)
只需将前景颜色更改为您喜欢的颜色:
<ProgressBar Foreground="{Binding PBarColorBrush}" Value="{Binding PBarValue}" />
修改(回答您的评论):是的,您需要Brush
属性(几乎所有颜色属性都在WPF中刷过)
但不要担心这很简单:
Public Sub DoWork()
For i = 1 To 100
If i < 50 Then
PBarColorBrush = Brushes.Blue
ElseIf i < 80 Then
PBarColorBrush = Brushes.Green
Else
PBarColorBrush = Brushes.Red
End If
Next
End Sub
财产:
Private _PBarColorBrush As Brush
Public Property PBarColorBrush() As Brush
Get
Return _PBarColorBrush
End Get
Set(ByVal value As Brush)
_PBarColorBrush = value
OnPropertyChanged("PBarColorBrush")
End Set
End Property
答案 1 :(得分:0)
您是否尝试更改进度条的整个颜色,或者您是否尝试根据值将进度条的不同部分设置为不同的颜色?如果是后者,你需要一个渐变画笔,根据进度条中的值设置不同的渐变停止。