У меня есть следующий класс:
public class Numbers :INotifyPropertyChanged
{
private double _Max;
public double Max
{
get
{
return this._Max;
}
set
{
if (value >= _Min)
{
this._Max = value;
this.NotifyPropertyChanged("Max");
}
}
}
private double _Min;
public double Min
{
get
{
return this._Min;
}
set
{
if (value <= Max)
{
this._Min = value;
this.NotifyPropertyChanged("Min");
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(String info)
{
if (this.PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
Проблема: я не хочу позволять пользователю вводить максимальное значение меньше минимального значения и так далее. Но приведенный выше код не работает в первый раз, когда другой класс пытается установить минимальное/максимальное значение, когда минимальное/максимальное значение имеет значение по умолчанию, равное нулю. Поскольку по умолчанию минимальное и максимальное значения будут равны нулю, если минимальное значение установлено > 0, что логически правильно, но ограничение не позволяет этого делать. Я думаю, мне нужно решить эту проблему, используя зависимое свойство или принуждение. Может ли кто-нибудь сделать это?