Я пытаюсь сделать это с помощью элемента ProgressBar со встроенным ItemsControl. Я собирал примеры того, как это сделать, но безуспешно. Я не до конца понимаю ItemsControl и, возможно, подхожу к этому неправильно. Вот что у меня есть на данный момент...
Код: Выделить всё
Код: Выделить всё
public ProgressBarWPF()
{
InitializeComponent();
this.DataContext = new ObservableCollection
()
{
new PercentItemsViewModel() { MaxVal = 30, Percent = 1.0, PercentColor = new SolidColorBrush(Colors.Green), Total = 0.0 },
new PercentItemsViewModel() { MaxVal = 30, Percent = 1.0, PercentColor = new SolidColorBrush(Colors.Red), Total = 0.0 }
};
}
public class PercentItemsViewModel : Utility.PropertyChangedNotification
{
public PercentItemsViewModel() { }
public double Percent
{
get { return (GetValue(() => Percent)); }
set { SetValue(() => Percent, value); }
}
public double Total
{
get { return (GetValue(() => Total)); }
set { SetValue(() => Total, value); }
}
public int MaxVal
{
get { return (GetValue(() => MaxVal)); }
set { SetValue(() => MaxVal, value); }
}
public Brush PercentColor
{
get { return (Brush)GetValue(() => PercentColor); }
set { SetValue(() => PercentColor, value); }
}
}
Когда я запускаю этот пример, Я не получаю никаких указаний на «хорошо» или «плохо», и когда я выполняю определенные шаги, индикатор выполнения остается «пустым». Фон индикатора выполнения остается стандартным цветом фона.
Я также пытался добавить использование свойства Value ProgressBar, но по мере увеличения значения индикатор выполнения перемещает индикатор, но он остается ЗЕЛЕНЫМ. В приведенном выше примере я удалил Value={Binding Total.
Я понимаю, что, возможно, иду совершенно неверным путем, но мне кажется, что ItemsControl будет идеальный способ удовлетворить это требование. Любая помощь в этом вопросе будет принята с благодарностью.
Подробнее здесь: https://stackoverflow.com/questions/785 ... rogressbar