Tôi có một thư nằm trong biên giới và được hiển thị ở phía trước khu vực máy khách MDI. Bởi vì nó chỉ là một tin nhắn, tôi đặt nó là IsHitTestVisible
thành sai. Để thuận tiện, tôi cũng đã bao gồm một nút bên trong nó để người dùng có thể chỉ cần nhấp vào nút để bắt đầu một sơ đồ mới.Làm thế nào bạn có thể thiết lập IsHitTestVisible thành True trên một đứa trẻ của một cái gì đó mà nó được đặt thành false?
Tuy nhiên, do đường viền có IsHitTestVisible
được đặt thành False
, nó sẽ bỏ ra giá trị True
của nút để người dùng không thể nhấp vào nút.
Điều đó nói rằng, làm thế nào bạn có thể điều khiển vô hình với chuột, trong khi vẫn cho phép một trong các con của nó nhận các sự kiện chuột?
Dưới đây là một ảnh chụp màn hình:
Chúng tôi muốn khu vực màu xanh với văn bản được hit-test vô hình, nhưng chúng tôi muốn nút để vẫn có thể được nhấn. Suy nghĩ? (Và có, tôi đã biết về xếp chồng hai mục trong một mạng lưới, nhưng điều đó messes với cách bố trí.
Tôi nghĩ bạn sẽ có nhiều may mắn hơn để tìm cách sửa bố cục bằng cách sử dụng 'Grid' với hai điều khiển được xếp chồng lên nhau hơn là bạn sẽ tìm cách đặt' IsHitTestVisible = true' nhưng cho phép kiểm tra lần truy cập một mục con. Bạn có kiểu sắp xếp nào? – Rachel
Bạn có thể ghi đè HitTestCore ... để xác định hành vi truy cập với UIElement của bạn (đó là giả sử bạn đã tạo UserControl) ...... nhưng giống như Rachel nói ... sử dụng Lưới hoặc bố cục khác. –
Vâng, tôi đã có một kiểm soát trọng lượng nhẹ hơn nhiều được gọi là một LayerPanel mà chỉ đơn giản là ngăn xếp mọi thứ trên đầu trang của mỗi khác. Cắt bỏ tất cả các phép đo và như vậy từ Grid, vốn nổi tiếng là kém hiệu suất. Tuy nhiên, tôi ghét phải lớp mọi thứ, bởi vì sau đó khi văn bản thay đổi để bản địa hóa, nó đẩy bố cục và bây giờ bạn phải lo lắng về việc sắp xếp thứ gì đó trước cái gì đó chưa được kết nối. Không vui. Doable, nhưng không vui. – MarqueIV