public MainWindow() { InitializeComponent(); SerijalizacijaEtikete.deserijalizacijaEtikete(); //ucitavam sve sacuvane etikete SerijalizacijaTipa.deserijalizacijaTipa(); //ucitavam sve sacuvane tipove SerijalizacijaVrste.deserijalizacijaVrste(); //ucitavam sve sacuvane vrste //ugroVrste.ItemsSource = Podaci.getInstance().Vrste; vm = new ViewModel(); vm.Vrste = new ObservableCollection <VrstaA>(); vm.droppedVrste = new ObservableCollection <VrstaA>(); foreach (VrstaA vrsta in Podaci.getInstance().Vrste) //prolazim kroz sve vrste { if (vrsta.X == 0 && vrsta.Y == 0) //ako koordinate vrste 0 znaci da se ne nalazi na kanvasu { vm.Vrste.Add(vrsta); //dodajem vrstu u vrste koje nisu na KANVASU tj u prikaz sa lijeve strane } else //inace su vrste na kanvasu i spustam ih na kanvas { Canvas canvas = mapaVrsta; try //try catch u slucaju da se ikonica obrise sa diska { Image Ikonica = new Image { Width = ICON_SIZE, Height = ICON_SIZE, Uid = vrsta.Oznaka, Source = new BitmapImage(new Uri(vrsta.Ikonica, UriKind.Absolute)), }; Ikonica.ToolTip = vrsta.Oznaka; //ucitavam tooltipove na ikonicama na kanvasu canvas.Children.Add(Ikonica); Canvas.SetLeft(Ikonica, vrsta.X); Canvas.SetTop(Ikonica, vrsta.Y); vm.droppedVrste.Add(vrsta); } catch { MessageBox.Show("Neke ikonice nece biti prikazane jer su obrisane!"); } } } //this.DataContext = vm; ugroVrste.ItemsSource = vm.Vrste; }
//cuvanje novih kordinata vrste pri pomeranju ikonice na kanvasu public static void ChangeDroppedVrsta(VrstaKlasa vrsta) { foreach (VrstaKlasa v in instance.Vrste) { if (v.Oznaka == vrsta.Oznaka) { v.X = vrsta.X; v.Y = vrsta.Y; break; } } SerijalizacijaVrste.serijalizacijaVrste(); }
public static void ChangeDroppedVrsta(VrstaA vrsta) { foreach (VrstaA v in instance.Vrste) { if (v.Oznaka == vrsta.Oznaka) { v.X = vrsta.X; v.Y = vrsta.Y; break; } } SerijalizacijaVrste.serijalizacijaVrste(); } //cuvanje novih kordinata vrste pri pomjeranju ikonice na kanvasu