代码如下:
后台自定义类:
public class Person:INotifyPropertyChanged
{
private string name;
public event PropertyChangedEventHandler PropertyChanged;
public string Name
{
get { return name; }
set { name = value;
if (PropertyChanged != null)
{
this.PropertyChanged.Invoke(this, new PropertyChangedEventArgs("Name"));
}
}
}
}
前台代码:
前台Resource
<Window.Resources >
<local:Person x:Key="per" ></local:Person>
</Window.Resources>
<TextBox x:FieldModifier="public" Text="{Binding Source={StaticResource per},Path=Name}" Name="txt" Width="100" Height="30"></TextBox>
如果要实现Person类中的Name属性值改变反映到TextBox上,那么就需要实现INotifyPropertyChanged接口(自定义类默认不自动实现该接口),修改TextBox(默认Mode为TwoWay)的值按Tab键后对应的值会反映到Person类的Name属性上,或者设置 UpdateSourceTrigger=PropertyChanged属性,在TextBox值改变的时候立刻反映到Name的值上。