Problem jest troche skomplikowany, a glownie przez to, ze sam nie wiem jak do konca ma to dzialac i jak to dziala.

Mam 3 klasy

  1. Workspace.xaml -> zdefiniowane jest jako Window
  2. WpfLayerView.xaml -> zdefiniowane jest jako Window
  3. SpreadSheetView.xaml -> zdefiniowane jako UserControl

Gdy wywolam [3] zeby sie pokazalo to wtedy jest na pierwszym miejscu wyswietlane. Jednak jak klikne w ktores z window to [2] przykrywa [3] ale [1] nie. Przez to [3] wyglada bardzo glupio (pol go nie ma i pol go jest)

Chcialbym by [3] bylo "always on top" gdy jest otwarte. (w sensie bedzie nad [1] oraz [2])

Gdy uzywam Microsoft Spy ++ zeby sprawdzic jaka hierarchie maja te okna to widze ze kazde okno (w tym usercontrol) jest osobno na tej liscie... co jest dziwne. I tez pytanie... jak dodac jakies zrobione juz okno do MainWindow? Bo z tego co czytalem to nie mozna dodac calego window do innego window tylko jego elementy.

Jest jeszcze jeden problem (ale musze zrobic wiekszy research do tego)
[2] jest window poniewaz komunikuje sie z CEF (chromium) i z tego co zrozumialem to jest tak ze:

  • CEF ma browser window
  • dlatego [2] ma window by sie komunikowac z CEF i na dobra sprawe CEF moze rysowac bez problemow bez zadnych specyfikacji
  • Jezeli zmienilibysmy to na UserControl to wtedy musielibysmy miec renderowanie w okreslonym miejscu (musielibysmy przekazywac gdzie rysowac [x][y]) co nie wydaje sie super rozwiazaniem, ale na pewno by pomoglo w rozwiazaniu z-orderingu