![](/img/trans.png)
[英]How can I make Visual Studio 2010's “Add User Control” create a WPF control?
[英]How can I create a custom image adorner add-in for numerical arrays in Visual Studio 2010?
我使用了大量的浮點圖像,並且發現對我的數組進行基於圖像的表示非常有用。 我想創建一個WPF UserControl,它將數據數組(如下所示)呈現為圖像,而不是可滾動的文本值列表。
這可能嗎? 我已經查看了關於VS 2010可擴展性的MDSN文檔 ,在SO的VS 2010擴展列表中 ,以及關於創建自定義編輯器的這個主題 ,但我有點迷失在哪里開始。
更新1:
感謝Brian和Basarat Ali在DebuggerVisualizer上的領導。 看起來是正確的策略,除了不幸的是,不允許任何類型的數組的可視化器。
解決方法(有限的實用程序)是可視化包裝器對象。
在Brian的建議下,我在CodePlex上發布了一個解決方案:
VS2010 Debugger Visualizers Contrib ( http://debuggervisualizers.codeplex.com/ )。
該項目的源代碼演示了一個工作包裝器可視化器和一個用於1D double []陣列的非功能性“原始”數據可視化器。 這是測試控制台運行的屏幕截圖:
如果有人對如何解決這個問題有任何建議,請告訴我!
此外,歡迎任何解釋為什么System.Array無法可視化!
更新2:
我只是用DebuggerVisualizer這個詞重新搜索了SO,並發現這是先前要求的 。 看起來用戶Will Dean建議使用WeakReference實現Project Mole的解決方案。 但是,不要看看這在DebuggerVisualizer中是如何工作的。
更新3:
Project Mole的 Josh Smith剛剛提出了一個非常有用的工作(感謝Josh!):
注意,您可以使用ArrayWrapper方法,而無需修改源代碼以打開可視化工具。 您可以在VS中的Watch窗口中輸入:
new YourNamespace.ArrayWrapper(myArray);
按Enter鍵,然后您應該在該行代碼旁邊的Watch窗口中看到一個放大鏡圖標。 單擊它以打開自定義可視化工具。
您應該創建一個調試器可視化工具。 這是一個演練: http : //msdn.microsoft.com/en-us/library/ms164759.aspx 。 我相信你想要的是能夠在外部程序中查看所有結果。 為此,您只需向列表中添加導出選項即可導出為csv文件。 但是,如果您仍然覺得需要位圖,可以使用RenderTargetBitmap將列表轉換為圖像: http : //msdn.microsoft.com/en-us/library/system.windows.media.imaging.rendertargetbitmap.aspx
由於這是針對調試器中的運行時信息,因此您可能會考慮使用DebuggerVisualizer而不是編輯器擴展。 有一些權衡取舍,我不清楚哪種方法最好。
(在任何情況下,我認為這是可能的,它確實看起來很有用,我希望有一個周末的人可以解決一個並發布源代碼。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.