Câu hỏi Ràng buộc TwoWay hoặc OneWayToSource không thể hoạt động trên thuộc tính chỉ đọc


Tôi có một thuộc tính chỉ đọc mà tôi cần hiển thị trong một hộp văn bản và nhận được lỗi này khi chạy. Tôi đã đặt IsEnabled="False", IsReadOnly="True" - không may mắn. Các tìm kiếm khác nói rằng chỉ đọc phải sửa nó, nhưng không phải cho tôi. Tôi đã có một cách giải quyết xấu bằng cách thêm một setter giả ...


76
2018-02-26 12:06


gốc


Nếu bạn muốn có hai cách ràng buộc, các setter tài sản phải được công khai. Xem stackoverflow.com/questions/8773150/… - Colonel Panic
Và từ bộ phận rõ ràng, người đặt ra cũng phải hiện hữu; tức là một tài sản chỉ với một nhận được sẽ hiển thị cùng một vấn đề. - noonand


Các câu trả lời:


Thật khó đoán mà không có mã, nhưng bạn sẽ có thể đặt BindingMode thành OneWay.

<TextBox Text="{Binding Path=MyProperty, Mode=OneWay}" />

hoặc từ mã:

Binding binding = new Binding();
binding.Mode = BindingMode.OneWay;

129
2018-02-26 12:14



Đúng, "Chế độ = OneWay" == Chỉ đọc; "Chế độ = OneWayToSource" == Chỉ ghi - Bryan Anderson
Xin lưu ý rằng trong .NET 4.0 có một "lỗi" mà OneWayToSource cũng nhận được: stackoverflow.com/questions/14967667/… - Luuk
Ngoài ra, đối với Liên kết hai chiều trên Cài đặt, hãy xem stackoverflow.com/a/845033/194717 - Tony