Pełny ekran w aplikacji WPF


95

Tworzę aplikację WPF, która będzie wyświetlana na pełnym ekranie. Dodatkowo aplikacja powinna działać na wielu tabletach o wielu wymiarach. Chciałbym, aby moja aplikacja działała na pełnym ekranie niezależnie od jej wymiarów.

Jaka jest najlepsza praktyka, aby wykonać to zadanie?

Odpowiedzi:


182

Wystarczy ustawić WindowStatesię Maximized, a WindowStyledo None.


6
Ustawienie okna jako najwyższego sprawi, że żadne inne okno nie pojawi się nad twoim oknem.
Yash Gadhiya,

10
@YashGadhiya Czego nigdy nie powinieneś robić.
Glenn Maynard

7
@LucasCordina Jeśli jesteś aplikacją kiosku i chcesz, aby inne aplikacje nie skupiały się na sobie, postawienie siebie na szczycie nie jest rozwiązaniem. Najwyższy po prostu sprawia , że jesteś na szczycie - jeśli jest coś innego, co może się skupić, to nadal będzie, po prostu nie będziesz w stanie tego zobaczyć.
Glenn Maynard

9
(A jeśli nie jest to oczywiste, ślepa rekomendacja Yash „również ustaw najwyżej” jest bardzo zła, ponieważ jeśli typowa aplikacja próbująca wyświetlić na pełnym ekranie to robi, to kończy się na jednej z tych zepsutych aplikacji pełnoekranowych, które sprawiają, że jesteś ślepy i grzebanie przy próbie przejścia do czegoś innego. Nie wiem, dlaczego Windows w ogóle na to pozwala - żadna aplikacja nie powinna być w stanie tak źle zepsuć pulpitu.)
Glenn Maynard

8
Pracujemy nad oprogramowaniem przeznaczonym do użytku w szpitalu w jednym celu na dedykowanej maszynie. Użytkownik nigdy nie powinien mieć możliwości przejścia Alt-Tab do nowego okna z jakiegokolwiek powodu. Są więc konteksty, w których opcja Topmost jest preferowaną opcją.
Julian Gold

42

Ustaw WindowStyle na None, a WindowState na Maximized. Można to zrobić w następujący sposób:

WindowState = WindowState.Maximized;
WindowStyle = WindowStyle.None;

Lub w XAML:

<Window x:Class="FullScreenApplication.Window"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Full Screen WPF"
    WindowState="Maximized"
    WindowStyle="None">

I po prostu kliknij ALT-TAB, aby wyjść z pełnego ekranu wpf. Umożliwia przełączanie się między innymi aplikacjami.


2
Właściwie wydaje się, że to niewłaściwa kolejność . Jeśli najpierw zmaksymalizujesz, a następnie zmienisz styl, możesz pozostawić widoczny pasek zadań. Wydaje się, że ten problem nie występuje, jeśli zaczniesz WindowStyle.Nonei WindowState.Maximizedpóźniej.
wondra

@KurtVandenBranden Dodanie użycia ALT-TABw Twojej odpowiedzi było bardzo pomocne.
nam
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.