当WPF应用程序启动时,它会应用一些标准设置来确定文本和数字的外观。有没有办法以编程方式更改这些默认设置?
例如,FontNumeralAlignment documentation on MSDN表示值“Normal”表示“使用默认数字对齐”。在我的系统上,这似乎默认为FontNumeralAlignment.Proportional,我希望它改为FontNumeralAlignment.Tabular。
背景:在Windows 7(see bug report on Microsoft Connect)上打破了WPF 4.0 OpenType支持,并且无法在仅包含数字和标点符号的运行中更改数字对齐。如果我至少可以将应用程序默认值更改为表格,衬里数字,我会有一个解决方法。
答案 0 :(得分:1)
我自己还没有尝试过,但是重写默认的DependencyProperty元数据可能是一个解决方案吗?
这样的事情应该有效:
public static class Overrides
{
static Overrides()
{
Typography.NumeralAlignmentProperty.OverrideMetadata(typeof(Typography), new System.Windows.PropertyMetadata(FontNumeralAlignment.Tabular));
}
}