Есть ли способ изменить цвет индикатора выполнения WPF путем привязки к свойству модели представления - PullRequest
2 голосов
/ 18 августа 2010

Я хочу, чтобы индикатор выполнения менял свой цвет в зависимости от диапазона, в котором находится текущее значение. Мне было интересно, есть ли на индикаторе выполнения атрибут, с которым я мог бы связать свойство модели представления, чтобы изменить цвет,Существует ли такой атрибут на индикаторе прогресса WPF?

Ответы [ 2 ]

2 голосов
/ 18 августа 2010

Просто измените цвет переднего плана на цвет, который вам нравится:

<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
0 голосов
/ 19 августа 2010

Вы пытаетесь изменить весь цвет индикатора выполнения или вы пытаетесь сделать так, чтобы разные части индикатора выполнения были разных цветов в зависимости от значения? Если в последнем случае вам понадобится кисть градиента, установка различных градиентов останавливается в соответствии со значениями в индикаторе выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...