我处理了很多浮点图像,并且会发现对数组进行基于图像的表示是非常有用的。我希望创建一个WPF UserControl,它将数据数组(如下面所示)呈现为图像,而不是可滚动的文本值列表。
这个是可能的吗?我看过MDSN文档 on VS 2010的扩展性、SO's VS 2010扩展列表和本题关于创建自定义编辑器的内容,但是我有点不知道从哪里开始。

更新1:
感谢布莱恩和巴萨拉特阿里在DebuggerVisualizer上的领先地位。看起来是正确的策略,但不幸的是,它是任何类型的数组不允许的可视化工具。
(有限效用的)解决方法是可视化包装器对象。
在布赖恩的建议下,我在CodePlex上发布了一个解决方案:
VS2010调试器视觉化控制 (http://debuggervisualizers.codeplex.com/)。
该项目的源代码演示了用于一维double[]数组的工作包装可视化器和非功能“原始”数据可视化器。下面是正在运行的测试控制台的屏幕截图:

如果有人对如何解决这个问题有任何建议,请告诉我!
此外,欢迎对System.Array不能可视化的任何解释!
更新2:
我只是用DebuggerVisualizer这个词重新搜索,发现这个词是先前被问到。看起来用户Will Dean建议实现Project的工作--绕过使用WeakReference。不过,不知道这在DebuggerVisualizer中是如何工作的。
更新3:
乔希·史密斯 of 鼹鼠工程 建议是一项非常有用的工作(谢谢乔什!):
注意,您可以使用ArrayWrapper方法,而无需修改源代码来打开可视化工具。您可以在VS中的“监视”窗口中键入以下内容: 新YourNamespace.ArrayWrapper(myArray); 点击Enter键,您应该会在这一行代码旁边的“监视”窗口中看到一个放大镜图标。单击它可打开自定义可视化程序。
发布于 2010-11-28 14:15:20
您应该创建调试器可视化程序。下面是一个演练:http://msdn.microsoft.com/en-us/library/ms164759.aspx。我相信你想要的是能够在一个外部程序中查看所有的结果。为此,您只需将导出选项添加到列表中,将其作为csv文件导出。但是,如果您仍然认为需要位图,则可以使用RenderTargetBitmap:http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.rendertargetbitmap.aspx将列表转换为图像。
发布于 2010-11-27 22:29:06
因为这是调试器中的运行时信息,所以可以考虑使用DebuggerVisualizer而不是编辑器扩展。有一些权衡,我不清楚哪一个会是最好的。
(无论如何,我认为这是可能的,而且它看起来确实很有用,我希望有空闲周末的人能破解其中一个,并发布源代码。)
https://stackoverflow.com/questions/4139500
复制相似问题