Tôi định sử dụng ràng buộc dữ liệu giữa một vài lớp học của mình. Nói cách khác, tôi không ràng buộc các giá trị giữa một lớp mô hình và giao diện người dùng, nhưng để ràng buộc các biến giữa các lớp khác nhau.Làm cách nào để gắn kết dữ liệu bằng mã với C#?
Tôi đã đọc về ràng buộc dữ liệu trong C# ở một số địa điểm, nhưng hầu hết trong số đó là đề cập đến ràng buộc giữa Windows Form và đối tượng nguồn.
Tôi vẫn còn mới đối với C#. Đây là cách tôi hiểu những gì tôi nên làm:
Đầu tiên, đối tượng nguồn của tôi, có tên lớp là DataObject
. Đối tượng nguồn phải triển khai giao diện INotifyPropertyChange
và sau đó kích hoạt sự kiện bất cứ khi nào thuộc tính, health
, được đặt để thay đổi. Tôi không có vấn đề với điều này.
Bây giờ, giả sử tôi có đối tượng đích đích được gọi là CharacterClass
. life
là tài sản ở CharacterClass
và cũng là thuộc tính mục tiêu mục tiêu mà tôi muốn liên kết với thuộc tính nguồn của đối tượng nguồn là health
.
Làm cách nào để liên kết hai thuộc tính với nhau (cả hai chiều và hai chiều) trong mã chỉ với khung công tác .NET thông thường?
Một chút thông tin cơ bản về lý do tại sao tôi hỏi câu hỏi này:
Chỉ trong trường hợp bạn nghĩ rằng đây là một câu hỏi trùng lặp, nó không phải. Tôi đã tìm kiếm thông qua SE. Các câu hỏi khác về databinding trong mã là trong bối cảnh của WPF hoặc XAML, mà không phải dành cho tôi. Tôi cũng đã đọc một số bài viết trên MSDN và có vẻ như tôi có thể tạo ra một đối tượng Binding
, và sau đó ràng buộc nguồn và đích thông qua BindingOperations.SetBinding()
. Tuy nhiên, lớp Binding
dường như là một phần của thư viện WPF dưới không gian tên là System.Windows.Data.Binding
. Mặc dù tôi đang sử dụng C#, tôi nghi ngờ tôi sẽ có sự sang trọng để truy cập vào các thư viện WPF bởi vì tôi chủ yếu sử dụng C# như là một ngôn ngữ kịch bản trong Unity3D. Tôi tin rằng tôi chỉ có quyền truy cập vào khung công tác vani .Net. Nhưng, tôi không chắc lắm về điều này vì tôi vẫn còn mới đối với C#.
Trên thực tế, có, bạn có quyền về dữ liệu ràng buộc hạnh phúc cho UI. Trong tình huống của tôi, tôi đang xây dựng một giao diện người dùng, nhưng không phải với Biểu mẫu Windows. Và tất cả những đối tượng mục tiêu * mà tôi đã đề cập đến chủ yếu là các lớp UI của tôi. Vì vậy, những gì tôi hy vọng là cho một "tùy chỉnh" của kỹ thuật sắp xếp dữ liệu ràng buộc mà tôi có thể thực hiện vào giao diện người dùng không WinForm của riêng tôi. – Carven
@xEnOn: vấn đề chính là các công cụ liên kết được kết hợp chặt chẽ với các khung nội bộ UI. Ví dụ, WPF ràng buộc sử dụng thuộc tính phụ thuộc, vì vậy, nếu bạn muốn sử dụng nó, bạn phải viết các lớp UI của bạn là con cháu 'DependencyObject'. Tôi nghĩ rằng, bạn nên viết động cơ ràng buộc của riêng bạn. – Dennis
Tôi hiểu. Cảm ơn! Có vẻ như tôi không có may mắn khi sử dụng công cụ ràng buộc dữ liệu hiện có của C#. Có lẽ tôi sẽ đưa ra một câu hỏi mới ở đây để hiểu cách các công cụ liên kết dữ liệu hoạt động như thế nào dưới mui xe, để tạo cho tôi một ý tưởng làm thế nào tôi có thể viết một ràng buộc dữ liệu Cảm ơn rất nhiều, Dennis. :) – Carven