WPF,如何将TextBox.Text属性绑定到数据对象的属性和另一个Textbox.Text

时间:2015-09-29 02:22:21

标签: wpf binding

我有两个WPF TextboxTextbox1Textbox2。当用户在Texbox2中输入任何内容时,Textbox1会发生变化,并且还需要将Textbox2.Text加载/保存到数据源。我可以将Textbox2.Text绑定到Textbox1.Text

<TextBox Name="Textbox2" Text="{Binding Text, ElementName=Textbox1}"/> 

或数据源

<TextBox Name="Textbox2" Text="{Binding Path="AProperty"}"/>

我怎么能同时拥有两者?

1 个答案:

答案 0 :(得分:1)

我假设您在没有事先了解MVVM的情况下使用BindingTextBox1.Text可以绑定TextProperty1TextBox2.Text可以绑定到 ViewModel 中的TextProperty1(该类被指定为{{1} }})。

ViewModel实现了INotifyPropertyChanged接口:

DataContext

如您所见,您将在设置public class ViewModel : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; protected void RaisePropertyChanged(string property) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(property)); } } string _TextProperty1; public string TextProperty1 { get { return _TextProperty1; } set { if (_TextProperty1 != value) { _TextProperty1 = value; RaisePropertyChanged("TextProperty1"); RaisePropertyChanged("TextProperty2"); } } } string _TextProperty2; public string TextProperty2 { get { return _TextProperty2; } set { if (_TextProperty2 != value) { _TextProperty2 = value; RaisePropertyChanged("TextProperty2"); } } } } 时通知这两个属性。