WPF Canvas, cómo agregar niños dinámicamente con código MVVM detrás de

Requisito

Para dibujar una imagen de mapa de bits (de 1024 x 1024 píxeles) y rectángulo (s) en función de la colección de puntos. El rectángulo debe caber exactamente en la ubicación de los píxeles sobre la imagen. También es necesario agregar texto dentro del rectángulo.

La imagen siempre será una sola y los rectángulos se agregarán dinámicamente.

Solución actual

Tenga un lienzo con control de imagen. Agregue el código dinámico debajo del código detrás del archivo ViewImageResult.xaml.cs.

    private void DrawResult(int left, int right, int width, int height)
    {
        Border bord = new Border();
        bord.BorderThickness = new Thickness(1);
        bord.BorderBrush = Brushes.Red;
        bord.Width = width;
        bord.Height = height;
        _mainCanvas.Children.Add(bord);
        Canvas.SetLeft(bord, left);
        Canvas.SetTop(bord, right);
    }
Problema

Desde que sigo el patrón MVVM, la colección de puntos para el rectángulo está en mi archivo ViewModel ViewImageResultModel.cs. No puedo agregar el rectángulo secundario dinámicamente desde el archivo ViewModel.

Cualquier ayuda es muy apreciada

Gracias por adelantad

Respuestas a la pregunta(2)

Su respuesta a la pregunta