数据绑定,以便更改TextBox值更新LIstBox
我试图让数据更新进出XAML。 即,当我在XAML TextBox中进行更改时,C#将接收新值,当我更改C#(通过单击按钮模拟)时,XAML TextBox都会更改。 我有这个工作,但是如果我对XAML TextBox进行更改,它会更新XAML ItemsList。 任何想法我怎么能这样工作?
MainWindow.xaml …
MainWindow.xaml.cs
public class Person : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; private String _FirstName; public string FirstName { get { return _FirstName; } set { _FirstName = value; if (PropertyChanged != null) PropertyChanged( this, new PropertyChangedEventArgs("FirstName")); } } public int Age { get; set; } } public partial class MainWindow : Window { public Person[] people; public MainWindow() { InitializeComponent(); people = new Person[]{ new Person{ FirstName = "Shirley", Age = 22 }, new Person{ FirstName = "Roy", Age = 29 }, new Person{ FirstName = "Manuel", Age = 34 } }; StackPanel1.DataContext = people[0]; listPeople.ItemsSource = people; } private void Button1_Click(object sender, RoutedEventArgs e) { people[0].FirstName += "y"; } }
在TextBox绑定上将UpdateSourceTrigger
设置为PropertyChanged
。
默认值为LostFocus
即丢失焦点的源更新,但如果您在键入时需要更新,请将其设置为PropertyChanged。 你会在ListBox中看到更新。