public MainWindowViewModel() { MainWindowSingleton = this; ClassViewModels = new ObservableCollection <ClassViewModel>(); ClassViewModels.Add(new ClassViewModel() { Name = "Test", Attributes = new ObservableCollection <FieldViewModel>() { new FieldViewModel() { Name = "TestAt", Type = VisibilityType.Public } }, Methods = new ObservableCollection <FieldViewModel>() { new FieldViewModel() { Name = "TestMet", Type = VisibilityType.Private } }, Id = 0, Position = new Point(100, 100), Height = 160, Width = 200 }); ClassViewModels.Add(new ClassViewModel() { Name = "Test", Attributes = new ObservableCollection <FieldViewModel>() { new FieldViewModel() { Name = "TestAt", Type = VisibilityType.Public } }, Methods = new ObservableCollection <FieldViewModel>() { new FieldViewModel() { Name = "TestMet", Type = VisibilityType.Private } }, Id = 1, Position = new Point(700, 100), Height = 160, Width = 200 }); LineaViewModels = new ObservableCollection <LineViewModel>(); LineaViewModels.Add(new LineViewModel(ClassViewModels[0], ClassViewModels[1])); AddClass = new Command(() => { var att = new ObservableCollection <FieldViewModel>(); att.Add(new FieldViewModel() { Name = "New Attribute" }); var met = new ObservableCollection <FieldViewModel>(); met.Add(new FieldViewModel() { Name = "New Method" }); ClassViewModels.Add(new ClassViewModel() { Id = ClassViewModels.GetMaxId() + 1, Name = "Class", Position = MainWindow.MousePosition, Attributes = att, Methods = met, Height = 160, Width = 200 }); }); Load = new Command(() => { OpenFileDialog openFileDialog = new OpenFileDialog(); if (openFileDialog.ShowDialog() == true) { XmlParser xmlParser = new XmlParser(openFileDialog.FileName); ClassViewModels.Clear(); foreach (var classViewModel in xmlParser.GetClasses().ToClassViewModels()) { ClassViewModels.Add(classViewModel); } LineaViewModels.Clear(); foreach (var line in xmlParser.GetLines()) { LineaViewModels.Add(new LineViewModel(ClassViewModels.GetById(line.First), ClassViewModels.GetById(line.Second))); } } }); Save = new Command(() => { OpenFileDialog openFileDialog = new OpenFileDialog(); if (openFileDialog.ShowDialog() == true) { XmlSaver xmlSaver = new XmlSaver(openFileDialog.FileName); xmlSaver.SetClasses(ClassViewModels.ToClass()); xmlSaver.SetLines(LineaViewModels.ToLine()); } }); }