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
屬性在代碼中改變時,文本框中的內容也會自動更新。