В WPF следующий код возвращает список всех шрифтов в указанном месте:
foreach (var fontFamily in Fonts.GetFontFamilies(@"C:\Dummy\Fonts\"))
{
System.Diagnostics.Debug.WriteLine(fontFamily.Source);
}
Проблема в том, что если изменить содержимое этой папки (добавить или удалить)шрифт) и снова запустите этот код, он возвращает тот же список (так как он кэширован где-то внутри).
Этот кэш не будет очищен, пока вы не выйдете приложение!
Есть ли способ предотвратить такое поведение и всегда заставлять WPF искать в этой папке шрифты в этот момент?
ПРИМЕЧАНИЕ: В результате получаетсяТо же самое независимо от «Служба Windows Presentation Foundation Font Cache 3.0.0.0» Состояние службы запущено или остановлено.Очевидно, этот конкретный тип кэша не обрабатывается службой.