Nếu ai đó đang phải đối mặt với cùng một vấn đề, họ có thể tìm thấy nó hữu ích. Chúng tôi đã có một yêu cầu để vô hiệu hóa vài hàng trên datagrid, nhưng đồng thời cho phép điều hướng phím mũi tên trên chúng. Đây là lý do tại sao chúng tôi phải chuyển sang IsHitTestVisible
thay vì kiểm soát thuộc tính IsEnabled
. Vì vậy, chúng tôi không thể áp dụng giải pháp chuyển đổi ở trên thành thuộc tính IsEnabled
.
Đây là cách tôi giải quyết vấn đề này. Tôi đã tạo thuộc tính đính kèm mới RowEnable
cho DataGridRow
. Thuộc tính đính kèm này có thể được liên kết với thuộc tính viewmodel để kiểm soát kích hoạt và vô hiệu hóa virtual
. Tôi cũng đã tạo kiểu mới cho DataGridCell
nơi tôi đang đặt IsHitTestVisible
thành false
dựa trên cùng một thuộc tính chế độ xem. Vì vậy, hãy xem nó giống như một hàng mà chuột/bàn phím có thể nhìn thấy, nhưng không thể thấy các ô/cột của nó. Điều này có nghĩa là bây giờ tôi có thể tạo kiểu cho hàng dựa trên thuộc tính đính kèm mới RowEnabled
để tắt/bật. Đồng thời, tôi có thể xem chú giải công cụ cho những tows này hầu như bị vô hiệu hóa.
Hy vọng điều này sẽ giúp ích !!
Nguồn
2015-05-17 18:20:00
IsEnable thay đổi kiểu của thành phần. –