다음 코드는 주어진 위치에있는 모든 글꼴의 목록을 반환 : 당신이 폴더 (글꼴을 추가 또는 제거)의 내용을 변경하고이 코드를 실행 경우WPF Fonts.GetFontFamilies()는 글꼴 목록을 캐시하고 캐시를 지우는 방법을 설명합니다.
foreach (var fontFamily in Fonts.GetFontFamilies(@"C:\Dummy\Fonts\"))
{
System.Diagnostics.Debug.WriteLine(fontFamily.Source);
}
문제는 다시, 동일한 목록을 반환합니다 (캐시 된 내부적으로).
응용 프로그램을 종료 할 때까지이 캐시는 삭제되지 않습니다!
이 동작을 방지하고 항상 그 순간 글꼴의 해당 폴더를 조사하도록 WPF를 만들 수있는 방법이 있습니까?
참고 : 결과에 관계없이 "윈도우 프리젠 테이션 파운데이션 글꼴 캐시 3.0.0.0" 서비스 상태를 시작하거나 정지의 동일합니다. 분명히이 특정 유형의 캐시는 서비스에서 처리되지 않습니다.
디버그 및 릴리스 구성 모두에서 응용 프로그램을 실행할 때 이런 현상이 발생합니까? 디버그 모드에서만 발생하는 유사한 문제가있었습니다. –
예, 릴리스/디버그/내 VS/독립 실행 형 응용 프로그램을 실행해도 상관 없습니다. 항상 캐싱이 있습니다. –