zadanko wygenerowane przed gemini:
Celem zadania jest stworzenie aplikacji okienkowej (desktopowej) b臋d膮cej prostym edytorem uk艂adu przestrzennego (np. rzutu pokoju). U偶ytkownik mo偶e dodawa膰 do obszaru roboczego (Canvas) reprezentacje mebli lub urz膮dze艅 w postaci prostych kszta艂t贸w geometrycznych (prostok膮ty, elipsy).
Aplikacja musi pozwala膰 na swobodne przemieszczanie kszta艂t贸w po obszarze roboczym za pomoc膮 techniki Drag & Drop (przeci膮gnij i upu艣膰), zaznaczanie ich, przesuwanie za pomoc膮 strza艂ek na klawiaturze oraz usuwanie. Ca艂o艣膰 musi by膰 rygorystycznie powi膮zana (Data Binding) z tabel膮 danych (DataGrid), dzi臋ki czemu zmiana pozycji myszk膮 automatycznie aktualizuje wsp贸艂rz臋dne w tabeli i odwrotnie.
Layout: (2.0p)
Canvas z wyra藕nym obramowaniem (Border) lub innym kolorem t艂a.DataGrid oraz przyciski funkcyjne.Data Binding & DataGrid: (3.0p)
DataGrid podpi臋ty pod kolekcj臋 element贸w typu WorkspaceItem (klasa stworzona przez Ciebie, implementuj膮ca INotifyPropertyChanged).Position X, Position Y.Position X lub Position Y bezpo艣rednio w tabeli DataGrid za pomoc膮 klawiatury musi natychmiast przesuwa膰 odpowiedni kszta艂t na kontrolce Canvas.Drawing on Canvas: (2.0p)
Rectangle lub Ellipse z przestrzeni System.Windows.Shapes) na 艣rodku Canvas.Mouse Interactions (Drag & Drop): (4.0p)
Nale偶y zaimplementowa膰 pe艂n膮 interakcj臋 z narysowanymi kszta艂tami przy u偶yciu myszy: