Я пытаюсь создать серию динамических вычисленных полей в моем окне.Создание динамического вычисленного поля в WPF
Прямо сейчас у меня он работает, когда форма загружается следующим образом ...
<Window.Resources>
<src:PaymentVarianceConverter x:Key="PaymentConverter" />
</Window.Resources>
<TextBlock Text="{Binding Path=., Converter={StaticResource PaymentConverter},
ConverterParameter=CASH, StringFormat={}{0:C}, Mode=OneWay}"/>
<TextBlock Text="{Binding Path=., Converter={StaticResource PaymentConverter},
ConverterParameter=CHECK, StringFormat={}{0:C}, Mode=OneWay}"/>
здесь преобразователь:
public sealed class PaymentVarianceConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (!(value is Route))
return null;
var route = value as Route;
switch (parameter.ToString())
{
case "CASH":
return route.CashTotal - route.TotalExpectedCash;
case "CHECK":
return route.CheckTotal - route.TotalExpectedCheck;
default:
return null;
}
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException("ConvertBack Not implemented");
}
}
Все это прекрасно работает, за исключением того, что не будет обновляться, когда базовые значения (т.е. route.CashTotal) изменяются.
Есть ли способ получить динамическое обновление? Я бы хотел, чтобы они не добавляли их свойства в исходный объект и вызывали OnPropertyChanged() для каждого из них, так как их много.
Благодарим вас за быстрый ответ. Я новичок в WPF, я пришел из мира Win Forms. Не был уверен, есть ли способ привязать текстовое свойство TextBox к вычислению других текстовых полей в окне. –
@GabrielMontanaro: вы можете создавать привязки данных между элементами управления, потому что свойство 'TextBox.Text' является свойством зависимости, которое взаимодействует со структурой привязки и отправляет уведомления при его изменении. Однако вы, кажется, привязываетесь непосредственно к «DataContext», который затем должен реализовать способ уведомлять структуру привязки данных к изменениям. –