private void UsuńKlocekZwracającyWartość(object obiektKlocka) { KlocekZwracającyWartość usuwanyKlocek = (KlocekZwracającyWartość)obiektKlocka; WartośćWewnętrznegoKlockaZwracającegoWartość miejsceUmieszczenia = usuwanyKlocek.MiejsceUmieszczenia; miejsceUmieszczenia[0] = null; DodajDziałanie(new ManipulacjaKlockiemZwracającymWartość(ManipulacjeKlockiem.Usunięcie, usuwanyKlocek) { Cel = miejsceUmieszczenia }); }
protected override object ZwróćNiebezpiecznie(bool sprawdzanieBłędów) { ZmiennaTypuListowego lista = new ZmiennaTypuListowego(); foreach (WartośćWewnętrznegoKlockaZwracającegoWartość wartośćKlockaPrzyjmującegoWartość in Elementy) { KlocekZwracającyWartość klocekZwracającyWartość = wartośćKlockaPrzyjmującegoWartość[0]; if (klocekZwracającyWartość != null) { lista.Add(klocekZwracającyWartość.Zwróć <object>(false)); } } return(lista); }
public void DragOver(IDropInfo dropInfo) { KlocekZwracającyWartość upuszczanyKlocek = dropInfo.Data as KlocekZwracającyWartość; WartośćWewnętrznegoKlockaZwracającegoWartość wartośćKlockaPrzyjmującegoWartość = (WartośćWewnętrznegoKlockaZwracającegoWartość)dropInfo.TargetCollection; DragDropEffects efektUpuszczenia; Type zwracanyTyp = upuszczanyKlocek?.ZwracanyTyp; if ((upuszczanyKlocek != null) && ((zwracanyTyp == null) || wartośćKlockaPrzyjmującegoWartość.PrzyjmowanyTyp.IsAssignableFrom(zwracanyTyp))) { efektUpuszczenia = upuszczanyKlocek.ZPrzybornika ? DragDropEffects.Copy : DragDropEffects.Move; dropInfo.DropTargetAdorner = DropTargetAdorners.Highlight; } else { efektUpuszczenia = DragDropEffects.None; } dropInfo.Effects = efektUpuszczenia; }
public void Drop(IDropInfo dropInfo) { WartośćWewnętrznegoKlockaZwracającegoWartość docelowaKolekcja = (WartośćWewnętrznegoKlockaZwracającegoWartość)dropInfo.TargetCollection; KlocekZwracającyWartość upuszczanyKlocek = (KlocekZwracającyWartość)dropInfo.Data; upuszczanyKlocek.MiejsceUmieszczenia = docelowaKolekcja; upuszczanyKlocek.ZPrzybornika = false; docelowaKolekcja[0] = upuszczanyKlocek; ManipulacjaKlockiemZwracającymWartość manipulacja = new ManipulacjaKlockiemZwracającymWartość(ManipulacjeKlockiem.Dodanie, upuszczanyKlocek) { Cel = docelowaKolekcja }; WartośćWewnętrznegoKlockaZwracającegoWartość źródło = dropInfo.DragInfo.SourceCollection as WartośćWewnętrznegoKlockaZwracającegoWartość; if (źródło != null) { manipulacja.Źródło = źródło; } _metodaZachowującaStanAplikacji(manipulacja); }