目录
一、修改网格样式(颜色、宽度、线条样式)
【源码中修改】找到\DynamicDataDisplay Sources v0.3.4703.0\src\DynamicDataDisplay\Charts\Axes\AxisGrid.cs文件,修改 AxisGrid()
private Path path = new Path();
private Canvas canvas = new Canvas();
/// <summary>
/// Initializes a new instance of the <see cref="AxisGrid"/> class.
/// </summary>
public AxisGrid()
{
IsHitTestVisible = false;
canvas.ClipToBounds = true;
path.Stroke = Brushes.LightGray;//颜色。修改颜色可以使用颜色转换器:(Brush)new BrushConverter().ConvertFromString("#33C3C3C2");
path.StrokeThickness = gridBrushThickness;//宽度。局部变量gridBrushThickness=1
//将网格线改为虚线,默认是实线
//DoubleCollection dc = new DoubleCollection();
//dc.Add(5);
//dc.Add(10);
//path.StrokeDashArray = dc;
Content = canvas;
}
二、默认显示Y轴范围且不能拖动
【重写方法】在App.xaml.cs中重写,在这里看到的解决办法
public class DisplayRange
{
public double Start { get; set; }
public double End { get; set; }
public DisplayRange(double start, double end)
{
Start = start;
End = end;
}
}
public class ViewportAxesRangeRestriction : ViewportRestriction
{
public DisplayRange XRange = null;
public DisplayRange YRange = null;
public override DataRect Apply(DataRect oldVisible, DataRect newVisible, Viewport2D viewport)
{
if (XRange != null)
{
newVisible.XMin = XRange.Start;
newVisible.Width = XRange.End - XRange.Start;
}
if (YRange != null)
{
newVisible.YMin = YRange.Start;
newVisible.Height = YRange.End - YRange.Start;
}
return newVisible;
}
}
主窗口程序中调用:
ViewportAxesRangeRestriction restr = new ViewportAxesRangeRestriction();
restr.YRange = new DisplayRange(-10, 10);
plotter.Viewport.Restrictions.Add(restr);
三、修改刻度线颜色,默认是黑色
【源码中修改】找到\DynamicDataDisplay Sources v0.3.4703.0\src\DynamicDataDisplay\Charts\Axes\AxisControlStyle.xaml文件
检索找到“Stroke”的内容,将“Black”替换成任何想要的颜色。(其中有四个板块,分别是上下左右四个方位的轴刻度线样式)