WPF更新源触发器实现

时间:2010-03-16 01:42:06

标签: wpf data-binding updatesourcetrigger

我有一个名为Flagged的布尔属性的自定义对象Foo,当有人在文本框中成功输入内容时,它会更改标记为true并使用某些文本更新屏幕上的另一个文本块。问题是我可以让它在加载初始数据时工作,但是当用户成功输入内容以翻转标志时没有任何反应。

我必须在代码中执行大部分操作,并且已在我的对象Foo上实现了INotifyPropertyChanged。我的代码有什么问题?

感谢。

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;
    }

1 个答案:

答案 0 :(得分:1)

听起来你可能只是在Foo上缺少更改通知。你在Foo上实现了INotifyPropertyChanged并从Flagged setter中调用了PropertyChanged事件吗?

相关问题