Używam Window.ShowDialog()
do otwierania okna modalnego w mojej aplikacji WPF (MVVM), ale pozwala mi to przejść do innych okien przy użyciu paska zadań Windows (Windows 7).Modalne okno dialogowe niewidoczne na innych oknach
Rozważ to: Mam 3 okna niemodalne otwarte w mojej aplikacji. Teraz Jedno z nich otwiera okno modalne przy użyciu Window.ShowDialog()
. Ustawiłem też jako właściciela okna modemu Application.MainWindow
. Dzieje się tak, ponieważ używam komunikatów MVVM, a program obsługi wiadomości otwierający nowe okno jest scentralizowany pod numerem App.xaml.cs
. Okno otwiera się modalnie - bez problemów. Jednak Windows 7 pozwala mi przełączać się do innych okien aplikacji z paska zadań. Prowadzi to do sytuacji, w której okno modalne znajduje się za innym oknem, które wolę nie mieć.
Nie mogę zrobić niczego w innych oknach, o ile mam otwarty modal, ale byłoby miło, gdyby okno modalne zawsze pozostało na górze tak długo, jak długo jest otwarte. Czy jest sposób, w jaki mogę wyłączyć przełączanie paska zadań, gdy modalny jest otwarty? FYI - wszystkie otwarte okna uruchomione z aplikacji pojawiają się jako osobne wpisy na pasku zadań.
Z góry dziękuję!
Czy możemy uzyskać kod z miejsca utworzenia okna, które staje się dialogiem modalnym? – user7116
Potrzebne było, aby okno było ponad WSZYSTKIE inne aplikacje. Potrzebuję, aby okno było nad jakimkolwiek innym oknem w aplikacji, takim jak okno dialogowe. Dla moich wymagań te dwie linie: Owner = Application.Current.MainWindow; i ShowInTaskbar = false; działa dobrze. +1 dla ciebie. –