리소스 사전을 볼 수없는 경우 DynamicResource 참조는 어떻게 작동합니까? 리소스 딕셔너리의 추가/제거 메소드에는 모든 DynamicResource 참조를 "폴링"한 종류의 내부 코드가 있으며 제거되거나 추가 될 때 새로 고칩니다.ResourceDictionary를 변경하면 DynamicResource 재평가는 어떻게됩니까?
5
A
답변
9
각 ResourceDictionary에는 3 개의 소유자 목록이 있습니다. 하나는 FrameworkElement 용이고 다른 하나는 Application 용이고 다른 하나는 FrameworkContentElement 용입니다. Resources 속성에 액세스하면 소유자가 설정됩니다. 또한 각 ResourceDictionary는 해당 소유자를 병합 된 사전으로 전파합니다. 사전이 바뀌면 소유자에게 알려줍니다. 이 알림은 실제로 리소스식이 포함 된 로컬 값을 사용하여 종속성 속성을 검색합니다. 그런 다음 각 표현식을 재평가해야합니다.
이 코드는 모두 내부 용입니다.
+1 "나는 그 사실을 알지 못했습니다!" :-) –