Mark's answer cho thấy làm thế nào để thực hiện những gì bạn muốn, nhưng bạn cũng có hỏi tổng quát hơn về " làm thế nào để hoàn thành [liên kết hai chiều] và ý nghĩa thực sự của nó. "
Ràng buộc một chiều có nghĩa là mục tiêu ràng buộc (ví dụ: điều khiển) sẽ hiển thị dữ liệu từ nguồn ràng buộc (ví dụ: đối tượng nghiệp vụ) và sẽ tự cập nhật khi thay đổi đối tượng nghiệp vụ, nhưng thay đổi đối với điều khiển sẽ không được lan truyền quay trở lại đối tượng kinh doanh. Ví dụ. nếu Person.Name thay đổi từ "bob" thành "kate", TextBlock.Text bị ràng buộc với Tên sẽ thay đổi từ "bob" thành "kate".
Ràng buộc hai chiều chỉ đơn giản có nghĩa là không chỉ những thay đổi trong đối tượng doanh nghiệp được phản ánh trong giao diện người dùng, mà thay đổi được thực hiện bởi người dùng trong giao diện người dùng cũng được truyền lại cho đối tượng kinh doanh. Vì vậy, bây giờ khi người dùng chỉnh sửa TextBox.Text ràng buộc với tên, nói thay đổi "kate" thành "edmund", WPF sẽ đặt thuộc tính Person.Name thành "edmund".
Để thực hiện việc này, chỉ cần đặt Mode = TwoWay trên khai báo Binding. Một số thuộc tính ràng buộc hai chiều theo mặc định: TextBox.Text, ví dụ, liên kết TwoWay theo mặc định, đó là lý do tại sao mã của Mark không cần khai báo Chế độ. Ngoài ra, như ghi chú Mark, theo mặc định, WPF chỉ truyền các thay đổi trở lại đối tượng nghiệp vụ khi điều khiển mất tiêu điểm. Nếu bạn có hai phần tử giao diện người dùng bị ràng buộc với cùng một thuộc tính, điều này có nghĩa là chúng xuất hiện không đồng bộ, trong trường hợp đó bạn có thể sử dụng UpdateSourceTrigger để buộc WPF truyền bá bất cứ khi nào thuộc tính thay đổi.
MSDN trình bày chi tiết một số biểu đồ rõ ràng: xem Data Binding Overview trong SDK WPF.
Tùy thuộc vào cách thiết lập mọi thứ, Nguồn đó có thể cần phải được thay đổi thành ElementName (với Đường dẫn của SelectedItem.Whatever), hoặc, nếu tập hợp các mục bị ràng buộc là DataContext, có thể được bỏ qua, nhưng trong trường hợp sau ListView sẽ cần IsSynchronizedWithCurrentItem = "True". – itowlson
Nó giống như itowlson nói. Cảm ơn rất nhiều! –
Ahh đúng và cảm ơn bạn đã sửa cú pháp;) –