In XAML we see property declarations of
FontSize like this:
We can express the above imperatively (or “programmatically”) in C#:
myInstance.FontFamily = new FontFamily(new Uri("pack://application:,,,/", UriKind.Absolute), "/MyApp;component/Resources/Fonts/#MyFont"); myInstance.FontSize = (double)(new FontSizeConverter()).ConvertFrom("96pt");
The overload for the
FontFamily constructor is taking a “Pack URI” that is basically saying, “Look for the font at the relative path inside the assembly of the current application.” I’ll have to experiment a bit with Pack URI syntax to point at another assembly.
FontSizeConverter is new to me—which is kind of sad because it’s been around since .NET 3.0 (c. 2006).