为了账号安全,请及时绑定邮箱和手机立即绑定

C# - Oxyplot:如何将文本显示为跟踪器值

C# - Oxyplot:如何将文本显示为跟踪器值

C#
有只小跳蛙 2023-09-24 16:19:44
我正在使用 oxyplot(C#,Windows 窗体)来绘制实验的日志文件。用户可以在测试期间输入注释,这些注释与文本和时间戳一起保存,并应与数据一起显示在图中。我一开始尝试使用 TextAnnotations,但注释可能比注释所允许的更加冗长和频繁。我的解决方案是制作一个散点图并使评论成为单个数据点,然后将鼠标悬停在跟踪器中时显示时间戳和评论文本。现在,我无法显示文字。我为数据点创建了一个新类来保存文本,ScatterSeries 将接受该文本:    public class CommentPoint : IScatterPointProvider    {        public CommentPoint(double x, double y, string text)        {            X = x; Y = y; Text = text;        }        public double X, Y;        public string Text;        public ScatterPoint GetScatterPoint()        {            return new ScatterPoint(X, Y);        }    }然后,我尝试修改 TrackerFormatString 以便它显示文本:        Series.TrackerFormatString = "{2}\n{Text}";但是,当将鼠标悬停在数据点上时,跟踪器仅显示时间戳,而不显示文本。我之前能够通过显示自定义数字来完成这项工作,但我不知道是否可以使用字符串。这是另一个系列的工作原理:        Series.TrackerFormatString = "{0}\n{2}\n{Scale:#.00 " + unit + "}";其中“Scale”是我想要显示的自定义属性。所以我想问题是,是否需要向 {Text} 添加一些内容才能使其正常工作/是否可以在跟踪器中显示文本?编辑:我忘了添加,我的紧急解决方案是将评论保存在 ScatterSeries 的标题中,并为每个评论创建一个新的系列,尽管我想尽可能避免这种情况。
查看完整描述

1 回答

?
慕虎7371278

TA贡献1802条经验 获得超4个赞

我还没有尝试过,但我很确定如果你变成Text一处房产,它会起作用。您只能绑定到属性,而不能绑定到普通类成员,并且我认为后台正在进行一些绑定。所以试试这个:

public string Text {get; set;}
查看完整回答
反对 回复 2023-09-24
  • 1 回答
  • 0 关注
  • 88 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信