2010-11-17 29 views
5

Nhiều lần tôi đã thấy mã trong MeasureOverrideArrangeOverride là cùng một biện pháp gọi và sắp xếp theo các phương thức tương ứng và một chút logic bổ sung như hoạt ảnh vv cho từng mục trong ArrangeOverride. Nó sẽ không đơn giản nếu bạn chỉ có một phương pháp để vượt qua logic của bạn đo tại một nơi và hệ thống bố trí nhớ rằng và có một sự kiện khi mỗi mục là về để thêm và bạn áp dụng logic bổ sung của hình ảnh động vv?Hệ thống Two Pass Layout trong WPF và Silverlight

Tôi có thiếu gì không?

Trả lời

9

Đúng, bạn đang thiếu sự khác biệt tinh tế giữa hai yếu tố này.

Trong MeasureOverride, cha mẹ yêu cầu đứa trẻ lớn đến cỡ nào.

Trong ArrangeOverride, phụ huynh nói đứa trẻ bao nhiêu không gian nó thực sự có và nơi nó đang được đặt.

Cũng giống như ngân sách hoặc thời gian xem xét tại nơi làm việc của bạn: sếp hỏi bạn có bao nhiêu tiền bạn muốn, sau đó cười và cho bạn biết bạn sẽ nhận được bao nhiêu và khi nào. Giống như kiểm soát trẻ em, sau đó bạn phải làm tốt nhất của bạn với những gì bạn đang đưa ra.

Để đặt một góc nhìn nhỏ về điều này, một trong những điểm chính của WPF là giao diện người dùng có thể mở rộng. Giống như kịch bản của sếp/nhân viên ở trên, nhu cầu kiểm soát của phụ huynh/con cần được giữ cân bằng. Chỉ vì kiểm soát trẻ em yêu cầu một kích thước nhất định, điều đó không có nghĩa là kiểm soát của phụ huynh có không gian đó để cung cấp, do đó cần được truyền đạt cho trẻ. OTOH, với kích thước ngày càng tăng của màn hình con bạn có thể kết thúc với bất động sản đáng kể hơn so với những gì nó thực sự cần.

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