private void Command_FileOpen(object sender, ExecutedRoutedEventArgs e) { var output = AppHandler.OpenFile(); if (output != null) { ClearCanvas(); MainVM.CurrentComponentName = null; MainVM.CanvasHeightMM = MainVM.pxToMm(output.CanvasHeight); MainVM.CanvasWidthMM = MainVM.pxToMm(output.CanvasWidht); MainVM.IdGrupa = output.Id_Grupa; foreach (var component in output.Components) { var cmp = component.Key; var pos = component.Value; if (cmp is Label lbl) { if (lbl.Name.Contains("Margin")) { var margin = MainCanvas.FindName(lbl.Name) as Label; Canvas.SetLeft(margin, pos.CanvasLeft); Canvas.SetTop(margin, pos.CanvasTop); } else { AddComponentToCanvas(lbl, pos.CanvasLeft, pos.CanvasTop); } } if (cmp is Image img) { AddComponentToCanvas(img, pos.CanvasLeft, pos.CanvasTop); } } } }