
Если пользователь вводит номер функций, код программной части рассчитает процент функций, обновив текстовое поле MultistagePercentageValue. Если пользователь вводит значение для процента функций, код программной части обновит значение для текстового поля MultiStageCountValue. Он также пересчитывает фактический процент, поскольку позволяет вводить в любое поле только целые числа (например, 33% из 76 объектов — это 25 объектов, что на самом деле составляет 32,89% объектов).
Это код для каждого текстового поля в файле xaml. Значение из текстового поля MultiStageCountValue используется для запроса в коде ViewModel с использованием переменной привязки MultistageCount.
Код: Выделить всё
Код: Выделить всё
private void MultistageCountValue_TextChanged(object sender, TextChangedEventArgs e)
{
TextBox textbox = sender as TextBox;
if (textbox.Name == "MultistageCountValue")
{
MultistagePercentageValue.Text = ((double)int.Parse(textbox.Text) / NumberofFeatures * 100).ToString("F");
}
// other validation code
}
Код: Выделить всё
private void MultistagePercentageValue_LostFocus(object sender, RoutedEventArgs e)
{
TextBox textbox = sender as TextBox;
MultistageCountValue.Text = (float.Parse(textbox.Text) / 100 * NumberofFeatures).ToString("F0");
}
/>Однако, если я введу текстовое поле MultistagePercentageValue и выйду из него, в то время как текстовое поле MultiStageCountValue получит обновлено, значение MultistageCount не обновляется, и в запросе используется предыдущее значение.
Почему MultistageCount не обновляется, когда фокус теряется при переходе из текстового поля вместо щелчка за его пределами ?
Подробнее здесь: https://stackoverflow.com/questions/792 ... -a-textbox
Мобильная версия