2009-06-18 38 views
6

Giả sử tôi có lưới, tôi nhấp vào một đối tượng và nó hiển thị trong màn hình chi tiết. Tôi không muốn người dùng chỉnh sửa một số dữ liệu để tôi đặt TextBox là bị vô hiệu hóa? Sẽ ràng buộc công việc? Về cơ bản những gì tôi muốn là TextBox được chuyển sang màu xám hoặc tắt? Làm thế nào về nó trong WPF? Ai đó có thể giải thích?WPF: Chỉ đọc TextBox và ràng buộc

Trả lời

20

Có, ràng buộc sẽ hoạt động với hộp văn bản bị tắt. Để tắt hộp văn bản, bạn có ba tùy chọn:

  • Đặt thuộc tính IsReadOnly thành true. Điều này sẽ không ảnh hưởng đến giao diện của hộp văn bản, nhưng sẽ ngăn người dùng thay đổi giá trị bên trong hộp văn bản.

  • Đặt IsEnabled thành false. Thao tác này sẽ làm xám hộp văn bản và ngăn không cho nó lấy tiêu điểm

  • Sử dụng nhãn hoặc khối chữ. Điều này sẽ đặt văn bản trên màn hình mà không xuất hiện trong một điều khiển có thể chỉnh sửa cả.

Để ràng buộc, điều này sẽ hoạt động như nhau bất kể bạn làm gì. Thiết lập ràng buộc như bình thường trong Xaml hoặc codebehind và giá trị sẽ cập nhật khi thuộc tính sao lưu thay đổi như bình thường (miễn là bạn đã thực hiện INotifyPropertyChanged, nếu không nó sẽ chỉ được đặt một lần)

4

Có một tài sản trên TextBox IsReadOnly, chỉ cần đặt nó vào đúng

3

Tôi sẽ sử dụng một < TextBlock/> hoặc một < Label/> để hiển thị dữ liệu tĩnh thay vì một < TextBox/>.

Các vấn đề liên quan