Я пытаюсь сделать «Ясный флаг» в своем коде. У меня постоянно отображаются данные в пользовательском интерфейсе, и я хочу, чтобы пользователь мог очищать данные, когда код работает с кнопкой «Очистить». У меня есть вторая нить, собирающая и обновляющая данные в потоке пользовательского интерфейса. Я попытался использовать флаг в свойствах, который, когда видит, что «Clear Flag» имеет значение true, зависит от заданного значения. Когда нажата кнопка очистки, я устанавливаю свой «Clear Flag» на true, и он очищает данные, но моя проблема заключается в том, чтобы знать, когда это будет сделано, и установить «Clear Flag» обратно на false, когда это будет сделано.Выполнение события после события PropertyChanged
private bool _clear;
public bool Clear
{
get
{
return _clear;
}
set
{
_clear = value;
OnPropertyChanged("Clear");
if (value)
{
OnPropertyChanged(String.Empty);
}
}
}
private int _motorRPM;
public int MotorRPM
{
get
{
return _motorRPM;
}
set
{
_motorRPM = value;
OnPropertyChanged("MotorRPM");
}
}
private int _aveRPM;
public int AveRPM
{
get
{
return _aveRPM;
}
set
{
if (Clear)
{
_aveRPM = 0;
}
else
{
_aveRPM = (_aveRPM + value)/2;
}
OnPropertyChanged("AveRPM");
}
}
private int _minRPM = Int32.MaxValue;
public int MinRPM
{
get
{
return _minRPM;
}
set
{
if (Clear)
{
_minRPM = Int32.MaxValue;
}
else
{
if (value < _minRPM)
{
_minRPM = value;
}
}
OnPropertyChanged("MinRPM");
}
}
private int _maxRPM;
public int MaxRPM
{
get
{
return _maxRPM;
}
set
{
if (Clear)
{
_maxRPM = 0;
}
else
{
if (value > _maxRPM)
{
_maxRPM = value;
}
}
OnPropertyChanged("MaxRPM");
}
}
Как вы можете видеть, у меня есть «Clear» Свойство, что при установке истины будет вызывать обновление всех свойств с OnPropertyChanged (String.Empty) с каждым свойством покоя известного значения, когда «Clear» истинно ,
Как установить Clear обратно в false, когда все события PropertyChanged завершены?
Да? Do 'Clear = false;' так, как я полагаю, вы сделали 'clear = true', чтобы установить его ... Или ваш код не содержит какой-либо важной части/информации? – Niclas
Ах. Извините, неправильно поняли вас :) Для меня вы как бы злоупотребляете измененным механизмом собственности. Почему бы вам не использовать одну команду и не сбросить все свойства, и вместо этого каждое свойство обрабатывает свой собственный PropertyChanged? – Niclas