Tôi có quyền kiểm soát với thuộc tính public MyClass MyProperty{...}
giá trị nào được hiển thị trên màn hình dưới dạng biểu đồ. Tôi muốn thuộc tính này được ràng buộc với bất kỳ trường hợp nào khác MyClass
trong chương trình bằng cách sử dụng lớp Binding
(MyProperty
sẽ là tham số propertyName
trong số thisBinding
constructor và MyClass
khác sẽ là thông số dataMember
).OneWay ràng buộc trên WinForms?
MyClass
thực hiện INotifyPropertyChanged
để mọi thứ ở bên đó đều ổn. Nhưng nó sẽ xảy ra nếu tôi không thực hiện một truy cập get
trong MyProperty
và cố gắng ràng buộc một cái gì đó với nó, tôi nhận được một "Không thể liên kết với thuộc tính 'MyProperty' trên điều khiển đích" Tên tham số: PropertyName " lỗi.
Điều này có nghĩa là tôi có để thực hiện một accessor get
ngay cả khi tôi biết tôi sẽ không bao giờ cần phải đọc giá trị của nó và tôi muốn có một OneWay (nguồn để nhắm mục tiêu) ràng buộc, và ngay cả khi tôi chỉ trả lại null
trong get
accessor?
Tôi đoán lớp Binding
sử dụng điều này để so sánh giá trị mới với giá trị cũ hoặc để thực hiện một số nội dung khác. Tôi không chắc chắn, sau đó, nếu bạn nên trả lại null
, hoặc tốt hơn là luôn giữ một bản sao của bất kỳ đối tượng cuối cùng nào được gán với người truy cập set
và gửi lại trong trình truy cập get
. Có lẽ tôi thực sự thậm chí không cần phải viết một accessor get
và tôi đang làm điều gì đó sai trái. Nó chỉ xảy ra mà tôi nhận được lỗi chỉ khi tôi nhận xét ra các accessor get
và ngừng nhận được nó khi tôi đặt nó trở lại.
Edit: Trong trường hợp có bất kỳ sự nhầm lẫn: Khi tôi nói giá trị MyProperty
's được hiển thị trên màn hình như một đồ thị tôi không có nghĩa là nó có một giá trị mà một số mã khác đọc và hiển thị trong màn hình. Không ai đọc bất kỳ giá trị nào từ MyProperty
. MyProperty
's set
accessor là một trong đó rút ra công cụ trên màn hình và đó là kết thúc của chu kỳ.
Vui lòng định dạng lại mục này để sử dụng các đoạn văn. –
Có một ràng buộc OneWayToSource. Thật khó để nói nếu nó sẽ giải quyết vấn đề của bạn, bởi vì tôi không thể đọc qua toàn bộ điều :) Cung cấp cho một số clip ngắn của mã ví dụ, quá. –
Thực ra tôi đã nghĩ về các đoạn văn nhưng không chắc chắn nên đặt chúng ở đâu. Tôi sẽ đặt chúng ở đâu đó xung quanh :). – Juan