Nếu từ điển Tài nguyên không thể quan sát được, tham chiếu DynamicResource hoạt động như thế nào? Các phương thức Thêm/Loại bỏ của từ điển tài nguyên có mã nội bộ loại "thăm dò ý kiến" tất cả các tham chiếu DynamicResource và làm mới chúng khi chúng bị loại bỏ hoặc thêm vào không?Kết quả thay đổi ResourceDictionary trong đánh giá lại DynamicResource như thế nào?
5
A
Trả lời
9
Mỗi ResourceDictionary chứa ba danh sách chủ sở hữu. Một cho FrameworkElement, một cho Application và một cho FrameworkContentElement. Khi bạn truy cập thuộc tính Tài nguyên, chủ sở hữu đang được thiết lập. Ngoài ra mỗi ResourceDictionary tuyên truyền chủ sở hữu của nó để từ điển hợp nhất. Khi từ điển đang thay đổi, nó sẽ thông báo cho chủ sở hữu về nó. Thông báo này thực sự tìm kiếm các thuộc tính phụ thuộc với các giá trị cục bộ có chứa biểu thức tài nguyên. Sau đó, mỗi biểu thức buộc phải đánh giá lại.
Tất cả mã này đều là nội bộ.
+1 cho "Tôi không biết điều đó!" :-) –