public ModProjectViewModel(ModProject project) { this.Project = project; if (this.Project.Name == null) this.Project.Name = new MultilingualValue(); this.Project.Name.OnChange += NameChanged; this.Project.Description.OnChange += NameChanged; foreach (string LangCode in this.Project.Languages) { AddLanguageButton(LangCode); /*<Button Style="{StaticResource NormalButton}"> <StackPanel Orientation="Horizontal" Margin="-10,-17,-10,-16"> <TextBlock Text="Englisch" VerticalAlignment="Center" Margin="10,0,10,0" /> <Image Source="/resources/textures/Icons/Icon_Delete.png" Height="20" Margin="0,0,5,0" /> </StackPanel> </Button>*/ } foreach (ModProject.Button button in project.Buttons) { ModProjectButton _button = new ModProjectButton(); _button.DataContext = new ModProjectButtonViewModel(this, button); _Buttons.Add(_button); } CheckForErrors(); }
public ModProjectButtonViewModel(ModProjectViewModel projectViewModel, ModProject.Button button) { this.ProjectViewModel = projectViewModel; this.Button = button; this.Button.Name.OnChange += NameChanged; this.Button.Description.OnChange += DescriptionChanged; CheckForErrors(); }
public void Remove(ModProject project) { for (int i = 0; i < _Projects.Count; i++) { ModProjectViewModel vm = (ModProjectViewModel) (_Projects[i].DataContext); if (vm.Project == project) { _Projects.RemoveAt(i); break; } } ModProjects.Remove(project); project.Remove(); }
public void RemoveButton(ModProject.Button button) { Project.Buttons.Remove(button); for (int i = 0; i < _Buttons.Count; i++) { ModProjectButton vm = _Buttons[i]; if (((ModProjectButtonViewModel)vm.DataContext).Button == button) { _Buttons.RemoveAt(i); return; } } }