То, о чем вы пишите называется "скин" или "шкурки". Это достаточно производительный способ для отрисовки, но на этом плюсы этого подхода заканчиваются и начинаются минусы:
1. Масштабированию такой подход поддается с трудом (например, несколькими размерами карт скина)
2. В рантайме модификация такого скина тоже выполняется с трудом (никто этого не делает)
3. Как правило, скин (как в aimp) не универсальный, а для конкретного расположения элементов управления.
Это все называется растровый скин.
Сейчас в большинстве своем применяется подход с векторной отрисовкой контролов. Это менее производительно, но более гибко все работает и нет проблем с масштабированием (разным DPI экранов). Ну и позволяет менять что угодно где угодно во время выполнения приложения (типа тени, свечение, цвета и т.д.)
Так что, я не советую искать растровый вариант отрисовки для C#. Да и вообще для любых GUI. Изучите, как сейчас происходит кастомизация контролов в GUI.
Можешь просто погуглить "красивый UI WPF или Avalonia" и увидеть пример (видео гайды есть)