내 응용 프로그램에 글꼴을 사용할 때 스타일에 설정된 FontFamily를 찾을 수없는 경우 경고/오류/예외가 표시되지 않습니다.FontFamily 디버깅이로드 되었습니까?
일반적으로 WPF에서는 출력 창이 나타나 바인드가 없다는 경고 메시지가 나타납니다. 또는 파일을 찾을 수 없기 때문에 ResourceDictionary를로드 할 수없는 경우 예외가 발생합니다. 그러나 FontFamily를 적절한 이름이나 결함있는 어셈블리없이로드하려고 시도 할 때 전혀 경고가 없습니다. 실제로로드/표시되는 글꼴을 볼 수있는 방법이 있습니까? 나는 아래의 대답을 사용하고 다음에 TestFont
방법을 변경 : (그래서 있는지 확인 :이 같은 글꼴을로드하는 것은 작동하는지
[Conditional("DEBUG")]
private void CheckFontFamily()
{
string fontName = FontFamily.Source.Substring(FontFamily.Source.IndexOf('#') + 1);
if (!FontFamily.FamilyNames.Any(x => x.Value == fontName))
{
bool fontFamilyFound = false;
string baseFontName = fontName;
while (!fontFamilyFound && fontName.Contains(' '))
{
fontName = fontName.Substring(0, fontName.LastIndexOf(' '));
if (FontFamily.FamilyNames.Any(x => x.Value == fontName))
{
fontFamilyFound = true;
string fontFace = baseFontName.Substring(fontName.Length + 1);
if (!FontFamily.FamilyTypefaces.Any(x => x.AdjustedFaceNames.Any(y => y.Value == fontFace)))
{
Console.WriteLine("WARNING: Font '{0}' with TypeFace '{1}' not found at '{2}'.", fontName, fontFace, FontFamily.Source);
}
break;
}
}
if (!fontFamilyFound)
{
Console.WriteLine("WARNING: Font '{0}' not found at '{1}'.", fontName, FontFamily.Source);
}
}
이가 표시됩니다 EDIT
*
경로가 작동 됨)<TextBlock Text="Lorem Ipsum" FontFamily="{Fonts:FontFamily '/Project;component/Fonts/#ITC Quay Book'}"/>
xaml에 스타일을 추가하십시오. –