@Quttar72
Изучаю asp.net core mvc

Как нарисовать много объектов и не заполнить память?

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

Можно ли сгенерировать фон элемента Canvas, из примитивов, которые не будут занимать место в ОЗУ? Грубо говоря я хочу нарисовать например линию на фоне Canvas, и все больше ни как я ей не могу управлять, если мне потребуется изменить фон, я его просто заново перерисую.
  • Вопрос задан
  • 135 просмотров
Пригласить эксперта
Ответы на вопрос 1
yarosroman
@yarosroman Куратор тега C#
C# the best
Наследуйтесь от Canvas, переопределяйте OnRender, в него передается DrawingContext, с его помощью и рисуйте, что необходимо. Можно добавить свойства необходимые и к ним DependencyProperty, чтобы биндинги можно использовать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы