在WPF中,可以使用以下方法實現雙向數據綁定:
Mode="TwoWay"
來實現。示例代碼:
ViewModel類中定義屬性:
private string _name;
public string Name
{
get { return _name; }
set
{
_name = value;
OnPropertyChanged(nameof(Name)); //觸發屬性更改通知
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
XAML中綁定屬性:
<TextBox Text="{Binding Name, Mode=TwoWay}" />
示例代碼:
ViewModel中定義命令:
private ICommand _updateCommand;
public ICommand UpdateCommand
{
get
{
if (_updateCommand == null)
{
_updateCommand = new RelayCommand(UpdateName, CanUpdateName);
}
return _updateCommand;
}
}
private bool CanUpdateName(object parameter)
{
//根據具體邏輯判斷是否可以執行命令
return true;
}
private void UpdateName(object parameter)
{
//根據具體邏輯更新Name屬性的值
Name = "New Name";
}
XAML中綁定命令:
<Button Content="Update" Command="{Binding UpdateCommand}" />
這樣,當用戶點擊按鈕時,命令會執行,從而更新Name屬性的值。