Хотите добавить элемент управления Items в ProgressBarC#

Место общения программистов C#
Anonymous
Хотите добавить элемент управления Items в ProgressBar

Сообщение Anonymous »

Я работаю над окном, которое следует за списком заранее определенных шагов и отображает ход выполнения этих шагов. Требования в основном сводятся к созданию индикатора выполнения, который указывает правильные шаги обычным ЗЕЛЕНЫМ цветом, а затем указывает неправильные шаги КРАСНЫМ цветом. Эти индикаторы будут прогрессировать с каждым выполненным шагом, возможно, чередуя ЗЕЛЕНЫЕ и КРАСНЫЕ индикаторы.
Я пытаюсь сделать это с помощью элемента 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); }
}
}

Класс PercentItemsViewModel является дочерним элементом интерфейса INotifyPropertyChanged, который добавляет обработку событий Notify и вызовы GetValue и SetValue.
Когда я запускаю этот пример, Я не получаю никаких указаний на «хорошо» или «плохо», и когда я выполняю определенные шаги, индикатор выполнения остается «пустым». Фон индикатора выполнения остается стандартным цветом фона.
Я также пытался добавить использование свойства Value ProgressBar, но по мере увеличения значения индикатор выполнения перемещает индикатор, но он остается ЗЕЛЕНЫМ. В приведенном выше примере я удалил Value={Binding Total.
Я понимаю, что, возможно, иду совершенно неверным путем, но мне кажется, что ItemsControl будет идеальный способ удовлетворить это требование. Любая помощь в этом вопросе будет принята с благодарностью.

Подробнее здесь: https://stackoverflow.com/questions/785 ... rogressbar

Вернуться в «C#»