Это полный вопрос, который я, похоже, не могу понять.У меня есть текстовое поле и текстовый блок.В текстовом поле должна быть сумма депозита, а в текстовом блоке - баланс после депозита.По сути, это просто значение в ячейке для депозита, добавляемое к значению в новом окне баланса, но мне нужно, чтобы эта математика была выполнена, пока пользователь печатает.Обычно, когда пользователь вводит текстовое поле для депозита, я хочу, чтобы значение в депозите было добавлено к значению в текстовом блоке после депозита.Это не обновляется, и если я запускаю его через отладчик, он не останавливает программу, пока пользователь печатает, поэтому я знаю, что он не распознает, что свойство изменяется, но я не могу понять, почему,У меня есть набор данных datacontext, и я знаю, что он связан без ошибок привязки, потому что привязки работают с обычным текстом, поэтому я не чувствую необходимости показывать это здесь.Я подозреваю, что это просто что-то простое с моей математикой и привязками.Код для текстового поля и текстового блока здесь:
<!-- TextBlock and TextBox for deposit -->
<TextBlock Text="Deposit:" TextAlignment="Center" VerticalAlignment="Center" FontSize="30" FontWeight="Bold"/>
<TextBox Text="{Binding DepositAmount, UpdateSourceTrigger=PropertyChanged}" BorderBrush="Black" BorderThickness="3" Padding="3" Margin="-60 15 30 10" Grid.Column="1"/>
<!-- TextBlock and TextBox for new balance -->
<TextBlock Text="New Balance:" Margin="5 0 0 0" TextAlignment="Left" VerticalAlignment="Center" FontSize="28" FontWeight="Bold" Grid.Row="1"/>
<TextBox Text="{Binding BalanceAfterDeposit, UpdateSourceTrigger=PropertyChanged}" FontWeight="Bold" IsReadOnly="True" BorderBrush="Black" BorderThickness="3" Padding="3" Margin="-60 15 30 10" Grid.Column="1" Grid.Row="1"/>
Здесь есть два свойства:
public double DepositAmount
{
get => this._depositAmount;
set
{
if (this._depositAmount != value)
{
this._depositAmount = value;
OnPropertyChanged(nameof(DepositAmount));
}
}
}
public double BalanceAfterDeposit
{
get => this._balanceAfterDeposit + _balance;
set
{
if ((this._balanceAfterDeposit + _balance) != value)
{
this._balanceAfterDeposit = value;
OnPropertyChanged(nameof(BalanceAfterDeposit));
}
}
}
Это, вероятно, очень глупая математическая ошибка, но любая помощь будет принята!Если у вас есть предложения по моему коду, это тоже очень поможет.Спасибо!