WPF双向绑定可以通过以下步骤实现:
Mode
属性设置为TwoWay
,例如:<TextBox Text="{Binding Name, Mode=TwoWay}" />
INotifyPropertyChanged
接口,该接口提供了属性更改通知功能。例如:public class ViewModel : INotifyPropertyChanged
{
private string _name;
public string Name
{
get { return _name; }
set
{
if (_name != value)
{
_name = value;
OnPropertyChanged(nameof(Name));
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
DataContext
,例如:public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = new ViewModel();
}
}
这样,当用户在文本框中输入时,数据对象的Name
属性会自动更新,并且当Name
属性在代码中改变时,文本框中的内容也会自动更新。