Как нарисовать много объектов и не заполнить память?
Мне нужно динамически генерировать фон Canvas, который должен состоять к примеру из линий. Для этого наверняка можно использовать графические примитивы входящие в набор WPF, но эти примитивы хранятся в ОЗУ, потому как я могу менять свойства этих объектов, и они будут изменяться на экране, они так-же отслеживают события. Но проблема в том, что при создании фона таких примитивов может быть довольно много, и отдавать где-то 100МБайт ОЗУ, под генерацию фона не очень хочется.
Можно ли сгенерировать фон элемента Canvas, из примитивов, которые не будут занимать место в ОЗУ? Грубо говоря я хочу нарисовать например линию на фоне Canvas, и все больше ни как я ей не могу управлять, если мне потребуется изменить фон, я его просто заново перерисую.
Наследуйтесь от Canvas, переопределяйте OnRender, в него передается DrawingContext, с его помощью и рисуйте, что необходимо. Можно добавить свойства необходимые и к ним DependencyProperty, чтобы биндинги можно использовать.