У меня есть пользовательский объект Foo с логическим свойством с именем Flagged, и когда кто-то успешно вводит что-то в текстовое поле, он помечается как true и обновляет другой текстовый блок на экране с помощью некоторого текста. Проблема в том, что я могу заставить его работать при загрузке исходных данных, но ничего не происходит, когда пользователь успешно набирает что-то, чтобы перевернуть флаг.
Я должен сделать большую часть этого кода, и я реализовал INotifyPropertyChanged для моего объекта Foo. Что не так с моим кодом ниже?
Спасибо.
private Border CreateNewBorder()
{
Border b = new Border();
TextBlock tb = new TextBlock();
tb.TextAlignment = TextAlignment.Center;
b.Style = (Style)this.FindResource("myBorder");
tb.SetBinding(TextBlock.TextProperty, CreateBinding());
b.Child = tb;
return b;
}
private Binding CreateBinding()
{
Binding bind = new Binding();
bind.Source = Foo;
bind.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
bind.Mode = BindingMode.TwoWay;
bind.Path = new PropertyPath("Flagged");
bind.Converter = new BoolToStringConverter();
return bind;
}