Сначала давайте посмотрим, как ведет себя ProgressBar.Основное правило заключается в том, что минимум всегда будет меньше или равен максимума.Поэтому, если вы измените значение максимума на что-то меньшее минимального, вы тоже измените минимум.ясно?
Итак, я полагаю, что это так: сначала вы меняете минимум на что-то, скажем 120, у вас будет:
minumum = 120 , maximum = 120 // maximum also changes from 100 to 120 based on the rule
, затем вы пытаетесь ввести максимумскажем, 180
, но событие TextChanged
вызывается три раза.Во-первых, как только вы вставите "1"
, у вас будет:
minimum = 1 , maximum = 1 // minimum also changes because 1 is less than 100
Во-вторых, когда вы введете "8"
, теперь у вас будет:
minimum = 1 , maximum = 18 // now minimum stays 1
изатем, когда вы введете окончательный "0"
и окончательная ситуация будет такой:
minimum = 1 , maximum = 180
Есть много способов решить эту проблему, но я предлагаю
1: вы используете Leave
событие вместо TextChanged
или 2: поместите туда кнопку Save
и изменяйте значения только при нажатии кнопки.