Я работаю с большим количеством изображений с плавающей запятой, мне было бы чрезвычайно полезно иметь представление моих массивов на основе изображений. Я хотел бы создать WPF UserControl, который отображает массив данных (как показано ниже) в виде изображения вместо прокручиваемого списка текстовых значений.
Возможно ли это? Я просмотрел документацию MDSN о расширяемости VS 2010, список SO расширений VS 2010 и этот раздел о создании настраиваемого редактора, но я немного не понимаю, с чего начать.
Обновление 1:
Спасибо Брайану и Басарату Али за руководство DebuggerVisualizer. Выглядит как правильная стратегия, ЗА ИСКЛЮЧЕНИЕМ того, что, к сожалению, визуализатор для любого типа массивов запрещен .
Работа -around (ограниченной полезности) предназначен для визуализации объекта-оболочки.
По предложению Брайана я опубликовал решение на CodePlex:
Визуализатор отладчика VS2010 s Contrib ( http://debuggervisualizers.codeplex.com/ ).
Исходный код проекта демонстрирует работающий визуализатор оболочки и нефункциональный визуализатор «сырых» данных для одномерного массива double [].Вот скриншот работающей тестовой консоли:
Если у кого-нибудь есть предложения по решению этой проблемы, дайте мне знать!
Также приветствуются любые объяснения того, почему System.Array не может быть визуализирован!
Обновление 2:
Я только что провел повторный поиск SO со словом DebuggerVisualizer и обнаружил, что это ранее запрашивалось . Похоже, пользователь Уилл Дин предлагает реализовать обходной путь Project Mole с помощью WeakReference . Однако не вижу, как это будет работать в DebuggerVisualizer.
Обновление 3:
Джош Смит из Project Mole просто предложил очень полезную работу (спасибо, Джош!):
Обратите внимание, вы можете использовать ваш подход ArrayWrapper без необходимости изменять исходный код для открытия визуализатора. Вы можете ввести это в окно Watch в VS:
new YourNamespace.ArrayWrapper (myArray);
Нажмите клавишу Enter, после чего вы увидите значок увеличительного стекла в окне Watch рядом с этой строкой кода. Щелкните его, чтобы открыть пользовательский визуализатор.