wpf data binding
public partial class Window2 : Window
{
public Person vmPerosn = new Person();
public Window2()
{
InitializeComponent();
vmPerosn.Name = "Jack Zhao";
vmPerosn.Phone = "13666666666";
vmPerosn.idNo = "110110110110110110";
//tb1.DataContext = vmPerosn;
this.DataContext = vmPerosn;
//< TextBox Name = "tb1" Grid.Column = "3" Text = "{Binding Path=Name}" TextWrapping = "Wrap" VerticalContentAlignment = "Center" HorizontalContentAlignment = "Stretch" />
Binding myBinding = new Binding();
myBinding.Source = vmPerosn;
myBinding.Path = new PropertyPath("Phone");
myBinding.Mode = BindingMode.TwoWay;
myBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
BindingOperations.SetBinding(tb2, TextBox.TextProperty, myBinding);
}
}
two way binding
public partial class Window2 : Window { public Person vmPerosn = new Person(); public Window2() { InitializeComponent(); vmPerosn.Name = "Jack Zhao"; vmPerosn.Phone = "13666666666"; vmPerosn.idNo = "110110110110110110"; //tb1.DataContext = vmPerosn; this.DataContext = vmPerosn; //< TextBox Name = "tb1" Grid.Column = "3" Text = "{Binding Path=Name}" TextWrapping = "Wrap" VerticalContentAlignment = "Center" HorizontalContentAlignment = "Stretch" /> // < TextBox Name = "tb1" Grid.Column = "3" Text = "{Binding Path=Name, Mode = TwoWay, UpdateSourceTrigger=PropertyChanged}" TextWrapping = "Wrap" VerticalContentAlignment = "Center" HorizontalContentAlignment = "Stretch" TextChanged = "tb1_TextChanged" /> Binding myBinding = new Binding(); myBinding.Source = vmPerosn; myBinding.Path = new PropertyPath("Phone"); myBinding.Mode = BindingMode.TwoWay; myBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; BindingOperations.SetBinding(tb2, TextBox.TextProperty, myBinding); } private void tb1_TextChanged(object sender, TextChangedEventArgs e) { MessageBox.Show(vmPerosn.Name); } private void tb2_TextChanged(object sender, TextChangedEventArgs e) { MessageBox.Show(vmPerosn.Phone); } }

浙公网安备 33010602011771号