我正在使用Line类在WPF中的 Canvas 上绘制,即使我设置了StrokeThickness = 1,该行也显示了2像素宽-几乎好像最小厚度是2像素。如何绘制一条真正1像素厚的线?

Line myLine = new Line();

myLine.Stroke = System.Windows.Media.Brushes.Black;

myLine.X1 = 100;
myLine.X2 = 140;  // 150 too far
myLine.Y1 = 200;
myLine.Y2 = 200;

myLine.StrokeThickness = 1;

graphSurface.Children.Add(myLine);

最佳答案

两件事情:

myLine.SnapsToDevicePixels = true;
myLine.SetValue(RenderOptions.EdgeModeProperty, EdgeMode.Aliased);

10-04 21:45