在 Windows 10(Pro Insider 预览版 EN_US 10130)上测试从应用程序打印时遇到问题。我发现我打印文档的代码失败了,问题出在 drawingContext.DrawText() 调用上。我发现“CultureInfo.InvariantCulture”必须更改为不同的内容,例如new CultureInfo("en-US")否则我的打印输出会失败。
它失败是有原因的,还是 Windows 10 中的错误?到目前为止,此解决方案在 Windows XP、7、8 和 8.1 的系统上运行良好。这是我使用的代码:
var visual = new DrawingVisual();
using (DrawingContext context = visual.RenderOpen())
{
context.DrawText(
new FormattedText(
"my text",
CultureInfo.InvariantCulture, // new CultureInfo("en-US")
FlowDirection.LeftToRight,
new Typeface(new FontFamily("Arial"), FontStyles.Normal, FontWeights.Normal, FontStretches.Normal),
15,
new SolidColorBrush(Color.FromRgb(0, 39, 91))),
new Point(10, 20));
}