Насколько плохо отрисовывается на CompositionTarger.Rendering (WPF) - PullRequest
0 голосов
/ 15 мая 2018

Я создаю приложение CAD с использованием WPF.И я хочу реализовать цикл рендеринга, подобный следующему

public class Editor
{
    private DrawingGroup RenderGroup = new DrawingGroup();   

    protected override void OnRender(DrawingContext drawingContext)
    {
        base.OnRender(drawingContext);
        var dc = drawingContext;
        Render();
        dc.DrawDrawing(RenderGroup);
    }

    void Render()
    {
         //All Render goes here, for example
         for (int i=0; i<25;i++)
         {
              dc.DrawRenctagle.....
         }    
    }

    public Editor()
    {
        CompositionTarget.Rendering += CompositionTarget_Rendering;
    }   

    void CompositionTarget_Rendering(object sender, EventArgs e)
    {
        Render();
    }
}

У меня нет опыта в цикле wpf, этот способ, кажется, работает для меня сейчас.Но мне любопытно, столкнусь ли я с неприятностями в будущем.Есть ли «лучшая практика» для подобных задач?

ps Альтернативой этому является вызов Render () только тогда, когда это необходимо, например, когда я перемещаю что-то на контроль и существует реальная необходимость перерисовать вещи.Но в будущем я хочу реализовать некоторые функции анимации, и без цикла это будет более сложным

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...