带有自定义get和set的WPF双向绑定

本文关键字:WPF 绑定 set 自定义 get | 更新日期: 2023-09-27 18:24:17

我有一个属性:

private int myProperty;
public int MyProperty
{
    get
    {
       return myProperty;
    }
    set
    {
        // do something special
    }
}

我想将此属性绑定到一个文本框,如下所示:

<TextBox Text={Binding MyProperty, Mode=TwoWay} />

这样,当用户更改文本框中的值时,就会调用该集合。但这种捆绑似乎根本不起作用。我做错了什么?

带有自定义get和set的WPF双向绑定

<TextBox Text={Binding MyProperty, UpdateSourceTrigger=PropertyChanged} />

由于TwoWay是TextBox控件的默认绑定模式,因此不需要指定Mode=TwoWay。PropertyChanged as UpdateSourceTrigger将在每次修改文本的按键上执行setter。如果您想将setter延迟到用户输入完值和制表符或单击下一个控件,也可以使用LostFocus UpdateSourceTrigger。