Win2D CanvasControl DrawImage () через ошибку «Объект был закрыт»? - PullRequest
0 голосов
/ 23 апреля 2020

что я пробовал? У меня есть такой класс

public class GridDrawingSession 
{
        CanvasDrawingSession DrawingSession;

        public GridDrawingSession()
        {

        }
        public GridDrawingSession(Object sender, object session)
        {
            this.DrawingSession = session as CanvasDrawingSession;
        }

        public void DrawImage(CanvasBitmap CanvasBitmap,Vector2 Vector)
        {
            this.DrawingSession.DrawImage(CanvasBitmap, Vector);
        }
}

И у меня есть другой класс, подобный этому.

class ImageContainner 
{
        CanvasControl DrawArea;
        GridDrawingSession _GridDrawingSession;

        public ImageContainner()
        {
            DrawArea = new CanvasControl();
            DrawArea.Name = "Image layer";

            DrawArea.Loaded += RegisterEvents;
        }

        public void Init(double left, double top, double width, double height)
        {
            DrawArea.Width = width;
            DrawArea.Height = height;
        }
        private void RegisterEvents(object sender, RoutedEventArgs e)
        {
            DrawArea.Draw += Canvas_Draw;
        }

      private async void Canvas_Draw(CanvasControl sender, CanvasDrawEventArgs args)
      {
      GridDrawingSession gridDrawingSession = new GridDrawingSession(sender, args.DrawingSession);
      CanvasBitmap CanvasBitmap = await CanvasBitmap.LoadAsync(sender,@"Assets\LargeTile.scale-400.png");
                Vector2 Vector = new Vector2();
                Vector.X = 100;
                Vector.Y = 200;
                gridDrawingSession.DrawImage(CanvasBitmap, Vector);
        }
}

код выше через ошибку "Объект был закрыт" в "this.DrawingSession .DrawImage (CanvasBitmap, Vector) ". Я не знаю, почему это происходит. Может кто-нибудь помочь мне ??

...