C# 即使应用了导向线集,垂直线也模糊

C# 即使应用了导向线集,垂直线也模糊,c#,wpf,C#,Wpf,我正在自定义控件的OnRender方法中绘制一条垂直线。我应用了引导线集,使线与物理设备像素对齐。但线条仍然显得模糊,放大显示应用了抗锯齿。我做错了什么 protected override void OnRender(DrawingContext dc) { Pen axisPen = new Pen(Brushes.Black, 1); if (axisPen.CanFreeze) axisPen.Freeze(); double lineLengt

我正在自定义控件的
OnRender
方法中绘制一条垂直线。我应用了
引导线集
,使线与物理设备像素对齐。但线条仍然显得模糊,放大显示应用了抗锯齿。我做错了什么

protected override void OnRender(DrawingContext dc)
{
    Pen axisPen = new Pen(Brushes.Black, 1);
    if (axisPen.CanFreeze)
        axisPen.Freeze();

    double lineLength = RenderSize.Height + 1;
    double thick = axisPen.Thickness * 0.5;
    GuidelineSet guidelines = new GuidelineSet();
    guidelines.GuidelinesX.Add(thick);
    dc.PushGuidelineSet(guidelines);
    dc.DrawLine(axisPen, new Point(0, 0), new Point(0, lineLength));
    dc.Pop();
}

您的显示器上的缩放设置是否为任何值?我看不出有什么问题,但我的是100%。WPF以96 dpi定义坐标,并在运行时将其缩放到更大的范围。我有两个监视器,但我一直在一个缩放设置为100%的监视器上进行测试。我还告诉Windows 10不要试图将模糊的应用程序弄清楚,以免搞砸。Windows 10上的多显示器、多DPI设置似乎存在某些问题,即使应用了指导原则,线条也会消除锯齿。我没有理清各种各样的情况。这也是针对.NET4.5的,它缺乏更高版本更好的多DPI支持。