在 WPF 中,我為我的控制元件設定了一種樣式,因此它指定了多個字體系列:
<Style TargetType="{x:Type MyControl}">
<Setter Property="FontFamily"
Value="Helvetica, Arial, Segoe UI" />
</Style>
如何確定實際選擇了哪種字體并用于控制元件?
uj5u.com熱心網友回復:
根據這篇博文:
XAML 文本呈現器 [...] 逐個字符地使用指定的字體串列(系列)。
因此,正如您所問的那樣,沒有'用于控制元件的字體'。
要找出每個字符使用哪種字體,這個回應看起來是一個很好的起點。
uj5u.com熱心網友回復:
我最終只需要決議FontFamily'Source屬性:
public static FontFamily GetFirstValid(this FontFamily fontFamily)
{
return fontFamily?.Source.Split(',')
.Select(p => new FontFamily(p))
.FirstOrDefault(f => f.GetTypefaces()
.Any(t => t.TryGetGlyphTypeface(out GlyphTypeface glyph)
&& glyph?.CharacterToGlyphMap.Count > 0));
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/424241.html
上一篇:當型別作為XAML中的CommandArgument傳遞時的C#開關/大小寫模式匹配
下一篇:系結已系結的屬性但具有標準化值
