克隆 Microsoft Chart Control 对象的推荐方法是什么?因为它是一个第三方库,所以我不能使用这里提到的解决方案,因为我不能将对象标记为可序列化。
最好,我不想引入任何第三方控件来克隆图表,除非如果没有一个绝对不可能这样做。
您不需要将其标记为可序列化,因为图表已经具备序列化的能力。查看此MS Charts文档以获取更多信息
从这里,您可以将图表序列化为字符串,然后立即将字符串反序列化为图表对象的新实例。这将类似于克隆,并且似乎是您的问题中提到的答案正在做的事情。这可能不是最有效的方法,但它会起作用
编辑
此代码未经测试但应该可以工作(对于如何完成此操作相当准确)
Chart chart1 = new Chart();
//Enter your chart building code here
System.IO.MemoryStream myStream = new System.IO.MemoryStream();
Chart chart2 = new Chart();
chart1.Serializer.Save(myStream);
chart2.Serializer.Load(myStream);
这并不能完全回答您的问题,但它可以帮助您实现您的功能。您可以使用控制Drill Down
功能Chart
来生成用户单击的图表部分的详细视图。参考 mschart 的示例环境。