В окне кнопка, у которой свойство IsEnabled
должно быть true
только если Text
в TextBox
соответствует паттерну Regex
. А в других случаях false
.
Так же нужно соблюдать паттерн MVVM
<Button
Content="CLICK!"
Height="45"
IsEnabled="{Binding NameIsValid, Mode=OneWay}"
Width="127" />
<TextBox
Height="32"
Text="{Binding Name, Mode=OneWayToSource}"
FontSize="20"
Width="120"/>
public bool NameIsValid
{
get {
return new Regex(@"^([A-Z]|[А-Я]|І|Ї)([a-z]|[а-я]|і|ї)+").IsMatch(Name);
}
}
public string Name
{
get => user.Name;
set {
user.Name = value;
OnPropertyChanged("Name");
OnPropertyChanged("NameIsValid");
}
}
При вводе валидного значение в TextBox
свойство IsEnabled
у кнопки не обновляется, а остается таким какое было при запуске.
Как правильно обновлять свойство элемента при изменении другого в моем случае?
Обнаружил, что обновление случается, только когда TextBox выходит из фокуса. А можно ли что бы сразу при наборе текста были видны обновления?
Проблема была в том, что привязка обновлялась при потере фокуса, что является поведением по умолчанию для текстбокса. Вам же нужно вот это
<TextBox Text="{Binding Name, Mode=OneWayToSource, UpdateSourceTrigger=PropertyChanged}" />
Обновление привязки при изменении свойства Text текстбокса.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть ajax запросРезультатом которого если всё хорошо будет срабатывать
Всем привет!Сразу извиняюсь, если очень глупо задал вопрос
У меня есть форма на которой выполняется ajax запрос, в итоге выполнения происходит перенаправление на другую страницу$(location)