У меня есть пользовательский индикатор выполнения, у которого есть свойство, представляющее собой массив класса с именем Bar
. Мне нужно вызвать функцию Invalidate (), когда свойство этого элемента управления Bar[i].Length
было изменено. Как я могу это сделать?
мой элемент управления:
public class SegmentedProgressBar : ProgressBar
{
....
public Bar[] Bars
{
get{return bars;}
set
{
bars = value;
Invalidate();
}
}
....
}
Мне нужно, чтобы Invalidate () вызывался автоматически, когда Bar.Length
изменилось
void ChangeBarLength()
{
segmPBar.Bars[0].Length = 10;
}
ОБНОВЛЕНИЕ : Добавлен класс баров
public class Bar
{
public Bar(long length, long start)
{
this.length = length;
this.start = start;
}
long length;
long start;
public long Start {
get { return start; }
set {
start = value;
}
}
public long Length {
get { return length; }
set { length = value; }
}
}
ОБНОВЛЕНИЕ2: Работало с использованием события PropertyChanged
public long Length {
get { return length; }
set {
if(value != length && PropertyChanged!=null)
PropertyChanged(this,EventArgs.Empty);
length = value;
}
}