Liên kết TwoWay hoặc OneWayToSource không thể hoạt động trên thuộc tính chỉ đọc


103

Tôi có thuộc tính chỉ đọc mà tôi cần hiển thị trong hộp văn bản và gặp lỗi này trong thời gian 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 nên sửa nó, nhưng với tôi thì không. Tôi có một giải pháp xấu là thêm một bộ định vị giả ...


5
Nếu bạn muốn ràng buộc hai chiều, bộ thiết lập thuộc tính phải được công khai. Xem stackoverflow.com/questions/8773150/…
Colonel Panic

1
Và từ bộ phận hiển nhiên chói mắt, người thiết lập cũng phải tồn tại ; tức là một tài sản chỉ có một nhận được sẽ thể hiện cùng một vấn đề.
noonand

Câu trả lời:


172

Thật khó đoán nếu không có mã, nhưng bạn 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;

29
Đúng, "Chế độ = OneWay" == Chỉ đọc; "Mode = OneWayToSource" == Chỉ viết
Bryan Anderson

1
Xin lưu ý rằng trong .NET 4.0 có một "lỗi" mà OneWayToSource cũng mắc phải: stackoverflow.com/questions/14967667/…
Luuk

Ngoài ra, đối với TwoWay Binding on Settings, hãy xem stackoverflow.com/a/845033/194717
Tony
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.